c语言实现一元线性回归

第一:用所给样本求出两个相关变量的(算术)平均值
第二:分别计算分子和分母:(两个公式任选其一)分子
第三:计算b:b=分子/分母
用最小二乘法估计参数b,设服从正态分布,分别求对a、b的偏导数并令它们等于零。
先求x,y的平均值x,y,再用公式代入求解:
后把x,y的平均数x,y代入a=y-bx
求出a并代入总的公式y=bx+a得到线性回归方程
(x为xi的平均数,y为yi的平均数)
#include #include void main() { float x[8] = {300.0 , 400.0 , 400.0 , 550.0 , 720.0 , 850.0 , 900.0 , 950.0}; float y[8] = {300.0 , 350.0 , 490.0 , 500.0 , 600.0 , 610.0 , 700.0 , 660.0}; int i; int n; float x_ave, y_ave, a, b, b1, mxy, sum_x, sum_y, lxy, xisubsqr; n = sizeof(x) / sizeof(x[0]); a = b = mxy = sum_x = sum_y = lxy = xisubsqr = 0.0; for (i = 0; i < n; i++) { sum_x += x[i]; sum_y += y[i]; } x_ave = sum_x / n; y_ave = sum_y / n; for (i = 0; i != n; i++) { lxy += (x[i] - x_ave) * (y[i] - y_ave); xisubsqr += (x[i] - x_ave) * (x[i] - x_ave); } b = lxy / xisubsqr; a = y_ave - b * x_ave; printf(y=%0.2fx+%0.2f\n, b, a); system(pause);} 运行代码如下:

ADN8831 高效率TEC控制器解决方案
基于低功耗蓝牙传感器的智能手表可实现数据同步功能
固态硬盘的金手指还隐藏有不少的秘密
虹科方案│如何简化和扩展高端数字媒体资产管理(Digital Asset Management)
什么是区块链的确定性?
c语言实现一元线性回归
GTO的触发驱动器及电路
步进电机的拆解、特征及优缺点
德承GP-3000导入高精度PCBA板AOI检测系统
微电脑低频电疗仪的原理图
苹果Mac OS X如何维护和保养
英飞凌全新NFC标签侧控制器集成传感和能量采集功能,助力无电池智能传感物联网方案更加小型化
嵌入式的CPU自定义指令有什么特点
够神奇!纳米机器人将在医疗领域大显身手
4编码器在Intel PXA27X平台上的实现
基于单片机的波形信号发生器设计
英伟达正与软银就收购Arm进行“高级谈判”
STK4191 Ⅱ50W+50W功放,STK4191 POWER AMPLIFIER
易鲸捷受邀出席2020飞腾生态伙伴大会
光纤通信系统的一些基本信息介绍