您所在位置: 网站首页 / C语言版的线性回归分析函数.doc / 文档详情
C语言版的线性回归分析函数.doc 立即下载
2024-09-09
约8.1千字
约11页
0
81KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言版的线性回归分析函数.doc

C语言版的线性回归分析函数.doc

预览

免费试读已结束,剩余 6 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

..
/NUMPAGES11

HYPERLINK"://blog.csdn.net/maozefa/article/details/1725535"C语言版的线性回归分析函数
分类:HYPERLINK"://blog.csdn.net/maozefa/article/category/325011"C/C++2007-08-0323:3913840人阅读HYPERLINK"://blog.csdn.net/maozefa/article/details/1725535"\l"comments"评论(31)HYPERLINK"javascript:void(0);"\o"收藏"收藏HYPERLINK"://blog.csdn.net/maozefa/article/details/1725535"\l"report"\o"举报"举报
HYPERLINK"://csdn.net/tag/%e8%af%ad%e8%a8%80"\t"_blank"语言HYPERLINK"://csdn.net/tag/c"\t"_blank"cHYPERLINK"://csdn.net/tag/%e6%95%b0%e5%ad%a6%e8%ae%a1%e7%ae%97"\t"_blank"数学计算HYPERLINK"://csdn.net/tag/delphi"\t"_blank"delphiHYPERLINK"://csdn.net/tag/system"\t"_blank"system
前几天,清理出一些十年以前DOS下的程序与代码,看来目前也没什么用了,想打个包刻在光碟上,却发现有些代码现在可能还能起作用,其中就有计算一元回归和多元回归的代码,一看代码文件时间,居然是1993年的,于是稍作整理,存放在这,分析虽不十分完整,但一般应用是没问题的,最起码,可提供给那些刚学C的学生们参考。
先看看一元线性回归函数代码:
//求线性回归方程:Y=a+bx//dada[rows*2]数组:X,Y;rows:数据行数;a,b:返回回归系数//SquarePoor[4]:返回方差分析指标:回归平方和,剩余平方和,回归平方差,剩余平方差//返回值:0求解成功,-1错误intLinearRegression(double*data,introws,double*a,double*b,double*SquarePoor){intm;double*p,Lxx=0.0,Lxy=0.0,xa=0.0,ya=0.0;if(data==0||a==0||b==0||rows<1)return-1;for(p=data,m=0;m<rows;m++){xa+=*p++;ya+=*p++;}xa/=rows;//X平均值ya/=rows;//Y平均值for(p=data,m=0;m<rows;m++,p+=2){Lxx+=((*p-xa)*(*p-xa));//Lxx=Sum((X-Xa)平方)Lxy+=((*p-xa)*(*(p+1)-ya));//Lxy=Sum((X-Xa)(Y-Ya))}*b=Lxy/Lxx;//b=Lxy/Lxx*a=ya-*b*xa;//a=Ya-b*Xaif(SquarePoor==0)return0;//方差分析SquarePoor[0]=SquarePoor[1]=0.0;for(p=data,m=0;m<rows;m++,p++){Lxy=*a+*b**p++;SquarePoor[0]+=((Lxy-ya)*(Lxy-ya));//U(回归平方和)SquarePoor[1]+=((*p-Lxy)*(*p-Lxy));//Q(剩余平方和)}SquarePoor[2]=SquarePoor[0];//回归方差SquarePoor[3]=SquarePoor[1]/(rows-2);//剩余方差return0;}

为了理解代码,把几个与代码有关的公式写在下面(回归理论和公式推导就免了,网上搜索到处是,下面的公式图片也是网上搜的,有些公式图形网上没找到或者不合适,可参见后面多元回归中的公式):
1、回归方程式:
2、回归系数:
其中:


3、回归平方和:
4、剩余平方和:
实例计算:
doubledata1[12][2]={//XY{187.1,25.4},{179.5,22.8},{157.0,20.6},{197.0,21.8},{239.4,32.4},{217.8,24.4},{227.1,29.3},{233.4,27.9},{242.0,27.8},{251.9,34.2},{230.0,29.2},{271.8,30.0}};voidDisplay(double*
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

C语言版的线性回归分析函数

文档大小:81KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用