首页天道酬勤r语言多元线性回归分析,python多元线性回归模型

r语言多元线性回归分析,python多元线性回归模型

张世龙 05-13 05:37 33次浏览

多元线性回归分析一、多元线性回归模型假设变量y与X1、X2、…、Xp之间存在线性关系

其中,和是未知参数,p2,上式称为多元线性回归模型。

二、参数估计我们根据多元线性回归模型,认为误差应该比较小,对其求偏导数,取0,可以得到正规方程。

要说为什么,那是因为它存在。 求解正规方程,得到最傻的牛排乘方估计:

三、回归方程的显着性检验给出定义。 回归方程的显着性检验等价于检验回归系数是否均为零。 即,检查:

不全是零

以下是必要的公式。

残差平方和SSE :

回归平方和SSR :

的总方差平方和:

统计量f :

对于给定的显著性级,拒绝检查的域:

四、回归系数显著性检验回归方程显著并不意味着各自变量对因变量的影响显著,通常进行回归系数检验,假设检验如下

给出t值检验法公式:

其中

对于给定的显著性级,拒绝检查的域:

另外,也可以确定可靠度为1-的可靠区间。

五、例题实战题目: 文件“T3house.txt”中给出了美国某住宅区20个家庭房价的相关数据。

数据:T3house.txt

15.31 57.3 74.8

15.20 63.8 74.0

16.25 65.4 72.9

14.33 57.0 70.0

14.57 63.8 74.9

17.33 63.2 76.0

14.48 60.2 72.0

14.91

   57.7    73.5
   15.25    56.4    74.5
   13.89    55.6    73.5
   15.18    62.6    71.5
   14.44    63.4    71.0
   14.87    60.2    78.9
   18.63    67.2    86.5
   15.20    57.1    68.0
   25.76    89.6   102.0
   19.05    68.6    84.0
   15.37    60.1    69.0
   18.06    66.3    88.0
   16.35    65.8    76.0

 a.将矩阵第一列记为变量z1=总居住面积,第二列记为变量z2=评估价值,第三列记为Y=售价。

library(foreign)data <-read.table("T3house.txt")data1<-as.matrix(data[1:20,1:3],dimnames="cc")colnames(data1) <- c("z1","z2","Y");data1

b.将a中的各个变量生成数据框,做关于Y和z1,z2的回归,显示计算结果。

data2<-data.frame(data1);data2#使用内置函数#lm.1<-lm(Y~z1+z2,data=data2)#summary(lm.1)#自编程序z0<-c(rep(1,20))data3<-data.frame(z0,data2)attach(data3)A<-as.matrix(data3)X<-A[1:20,1:3]Y<-A[1:20,4]Y<-as.vector(Y)b<-solve(t(X)%*%X)%*%t(X)%*%Y;b#结果#z0 30.96656634#z1 2.63439962#z2 0.04518386#故回归方程为Y=30.6656634+2.63439962 z1 + 0.04518386 z2

c.根据b中的结果分别给出β1和β2的置信系数为90%的置信区间。

data3<-data.frame(z0,data2);data3n<-nrow(data3);p<-ncol(data3);p<-p-1C<-solve(t(X)%*%X)A<-as.matrix(data3)X<-A[1:20,1:3]lm.1<-lm(Y~z1+z2,data=data3)SSE=deviance(lm.1)shita<-sqrt(SSE/(n-p-1))t1<-b[2]/(shita*sqrt(C[1,1]));t1t2<-b[3]/(shita*sqrt(C[2,2]));t2b1<-c(b[2]-1.7247*shita*sqrt(C[1,1]),b[2]+1.7247*shita*sqrt(C[1,1]));b1b2<-c(b[3]-1.7247*shita*sqrt(C[2,2]),b[3]+1.7247*shita*sqrt(C[2,2]));b2#结果#-11.37843 16.64723#-1.351438 1.441806

d.假设某房间总居住面积为15,评估价值为55,试给出该房屋售价的点估计、预测区间和估计区间(置信系数95%)。

y0<-b[1]+15*b[2]+55*b[3];y0#点估计72.96767newdata<-data.frame(z1=15,z2=55)lmpred<-predict(lm.1,newdata,interval="prediction",level=0.95)lmpred

e.计算20个房屋价格的拟合值,并做残差对拟合值的残差图。

resid<-residuals(lm.1)pre<-predict(lm.1);pre #等价于y,拟合值#方法二y=xfor(i in 1:20){ y[i]=b[1]+X[i,2]*b[2]+X[i,3]*b[3]}y; #拟合值plot(pre,resid)

f.计算回归系数β的最傻傻的牛排乘估计,误差方差σ2的估计,残差向量,残差平方和,回归平方和,方程显著性检验F统计量,复相关系数,修正的复相关系数。将上述8个量写入一个列表并显示出结果。

#第一个量b;#第二个量shita2<-SSE/(n-p-1);shita2#第三个量e<-Y-X%*%b;e#第四个量y1<-mean(Y)sse<-0for(i in 1:20){ y[i]=b[1]+X[i,2]*b[2]+X[i,3]*b[3]}for(j in 1:20){ sse<-sse+(Y[j]-y[j])**2}sse;#第五个量ssr<-0;y0<-mean(Y)for(k in 1:20){ ssr<-ssr+(y[k]-y0)**2}ssr;#第六个量F<-(ssr/p)/(sse/(n-p-1));F#第七个量R<-ssr/(sse+ssr);R#第八个量R2<-sqrt(1-(sse/(n-p-1))/((sse+ssr)/(n-1)));R2#列表list.data <- list(b, shita2, e, sse, ssr,F,R,R2);list.data

相关资料:数据分析与R软件第二版(axdwg著)每章例题代码和数据,下载地址:https://download.csdn.net/download/lph188/10802159

python多元非线性回归模型,python实现多元线性回归 ,