R 《回归分析与线性统计模型》page121,4.4
1 2 3 | rm (list = ls ()) A = read.xlsx ( "xiti_4.xlsx" ,sheet = 4) names (A) = c ( "ord" , "x" , "y" ) |
1 2 3 4 5 | #进行回归 attach (A) fm = lm (y~x) summary (fm) coef (fm) |
1 2 | #回归残差关于x的散点图 plot (x, resid (fm)) |
成发射状,意味着方差随着x的增加而变大
1 2 3 | #尝试用加权最小二乘 #先分类(可以聚类、手动分类) plot (x) |
根据变量x的图像,手动分为三类(1-4,5-7,8-11)
1 | detach (A) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #计算权重 se = deviance (fm)/11 #权重的分母项 #S1 A1 = A[ c (1:4),] lm1 = lm (A1$y~A1$x) sig1 = deviance (lm1)/lm1$df csq1 = sig1/se #第一类的权重 #S2 A2 = A[ c (5:7),] lm2 = lm (A2$y~A2$x) sig2 = deviance (lm2)/lm2$df csq2 = sig2/se #第二类的权重 #S3 A3 = A[ c (8:11),] lm3 = lm (A3$y~A3$x) sig3 = deviance (lm3)/lm3$df csq3 = sig3/se #第三类的权重 sig = c (sig1,sig2,sig3) #各类σ^2 csq = c (csq1,csq2,csq3) #权重向量 #加权最小二乘法分析 Y = c (A1$y/csq[1],A2$y/csq[2],A3$y/csq[3]) X = c (A1$x/csq[1],A2$x/csq[2],A3$x/csq[3]) lm.res = lm (Y~X) summary (lm.res) plot (X, resid (lm.res)) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步