前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >回归直线方程「建议收藏」

回归直线方程「建议收藏」

作者头像
全栈程序员站长
发布2022-09-20 10:51:45
6350
发布2022-09-20 10:51:45
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

回归直线方程

线性回归方程的公式

clip_image001
clip_image001

一个简单实现代码

//************************************ // 函数名称: GetLineEquationDouble0 // 函数说明: 求线性回归方程 // 参 数: // const SPoint inPoint[MAX_PLATE_HEIGHT] [in] 数据点 // const int length [in] 点的数量 // double * k [out] 直线斜率 // double * b [out] 直线截距 // 返回值: byte //************************************ byte GetLineParam(const SPoint *inPoint,constint length,double*k,double*b) { int i=0; int sumX=0, sumY=0; double xavg=0, yavg=0; int sumXX =0; int sumXY =0; int tempK1 =0; double tempK =0; double tempB =0; if(length ==0) { *k =0; *b =0; return1; } sumX =0; sumY =0; sumXX =0; sumXY =0; for(i=0; i<length; i++) { sumX += inPoint[i].x; sumY += inPoint[i].y; sumXX += inPoint[i].x * inPoint[i].x; sumXY += inPoint[i].x * inPoint[i].y; } xavg = sumX / length; yavg = sumY / length; tempK1 = sumXX – length * xavg * xavg; if(tempK1 ==0) { *k =0; *b =0; return1; } tempK =(sumXY – length * xavg * yavg)/ tempK1; tempB = yavg – tempK * xavg; *k = tempK; *b = tempB; return1; }

一个网上看的例子

某产品广告支出x万元,与销售额y万元之间有如下数据x=2,4,5,6,8y=30,40,60,50,70(1)求回归直线方程

(1)设回归线性方程为:y=bx+a x的平均值=(2+4+5+6+8)/5=5 y的平均值=(30+40+60+50+70)/5=50 ∑xi^2=2^2+4^2+5^2+6^2+8^2=145 ∑xiyi=2*30+4*40+5*60+6*50+8*70=1380 根据公式:b=(1380-5*5*50)/(145-5*5^2)=6.5 a=50-6.5*5=17.5 则回归线性直线方程为:y=6.5x+17.5

简单的证明

用最小二乘法估计参数b ,分别求对a、b的偏导数并令它们等于零,得方程组并求解.

假设线性回归方程为: y=ax+b (1) a,b为回归系数,要用观测数据(x1,x2,…,xn和y1,y2,…,yn)确定之. 为此构造 Q(a,b)=Σ(i=1->n)[yi-(axi+b)]^2 (2) 使Q(a,b)取最小值的a,b为所求. 令: ∂Q/∂a= 2Σ(i=1->n)[yi-(axi+b)](-xi)= 0 (3) ∂Q/∂b= 2Σ(i=1->n)[yi-(axi+b)] = 0 (4) 根据(3)、(4)解出a ,b就确定了回归方程(1): a Σ (Xi)² + b Σ Xi = Σ Xi Yi (5) a Σ Xi + b n = Σ Yi (6) 由(5)(6)解出a,b便是,其中化简过程要用到Σ(i=1->n) (xi) = n T (T为X数据的均值)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168265.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回归直线方程
    • 一个简单实现代码
      • 一个网上看的例子
        • 简单的证明
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档