C语言版的线性回归函数总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言版的线性回归分析函数 分类: C/C++ 2007-08-03 23:39 13840人阅读 评论(31) 收藏 举报 语言c数学计算delphisystem ??????? DOS下的程序及代码,看来目前也没什么用了,想打个包刻在光碟上,却发现有些代码现在可能还能起作用,其中就有计算一元回归和多元回归的代码,一看代码文件时间,居然是1993年的,于是稍作整理,存放在这,分析虽不十分完整,但一般应用是没问题的,最起码,可提供给那些刚学C的学生们参考。 ? //?求线性回归方程:Y?=?a?+?bx //?dada[rows*2]数组:X,?Y;rows:数据行数;a,?b:返回回归系数 //?SquarePoor[4]:返回方差分析指标:?回归平方和,剩余平方和,回归平方差,剩余平方差 //?返回值:0求解成功,-1错误 int?LinearRegression(double?*data,?int?rows,?double?*a,?double?*b,?double?*SquarePoor) { ????int?m; ????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*Xa ????if?(SquarePoor?==?0) ????????return?0; ????//?方差分析 ????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);?????//?剩余方差 ????return?0; } ? 为了理解代码,把几个与代码有关的公式写在下面(回归理论和公式推导就免了,网上搜索到处是,下面的公式图片也是网上搜的,有些公式图形网上没找到或者不合适,可参见后面多元回归中的公式): 1、回归方程式: 2、回归系数:??? ???其中: ??????? ? ??????? ?? 3、回归平方和: 4、剩余平方和: 实例计算: double?data1[12][2]?=?{ //????X??????Y ????{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}, ???

文档评论(0)

4477769 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档