(完整word版)R软件一元线性回归分析
用R软件进行一元线性回归 实验报告
数理统计上机报告上机实验题目:用R软件进行一元线性回归上机实验目的:1、进一步理解假设实验的基本思想,学会使用实验检验和进行统计推断。
2、学会利用R软件进行假设实验的方法。
一元线性回归基本理论、方法:基本理论:假设预测目标因变量为Y,影响它变化的一个自变量为X,因变量随自变量的增(减)方向的变化。
一元线性回归分析就是要依据一定数量的观察样本(Xi, Yi),i=1,2…,n,找出回归直线方程Y=a+b*X方法:对应于每一个Xi,根据回归直线方程可以计算出一个因变量估计值Yi。
回归方程估计值Yi 与实际观察值Yj之间的误差记作e-i=Yi-Yi。
显然,n个误差的总和越小,说明回归拟合的直线越能反映两变量间的平均变化线性关系。
据此,回归分析要使拟合所得直线的平均平方离差达到最小,据此,回归分析要使拟合所得直线的平均平方离差达到最小,简称最小二乘法将求出的a和b 代入式(1)就得到回归直线Yi=a+bXi 。
那么,只要给定Xi值,就可以用作因变量Yi的预测值。
(一)实验实例和数据资料:有甲、乙两个实验员,对同一实验的同一指标进行测定,两人测定的结果如试问:甲、乙两人的测定有无显著差异?取显著水平α=0.05.上机实验步骤:1(1)设置假设:H0:u1-u-2=0:H1:u1-u-2<0(2)确定自由度为n1+n2-2=14;显著性水平a=0.05 (3)计算样本均值样本标准差和合并方差统计量的观测值alpha<-0.05;n1<-8;n2<-8;x<-c(4.3,3.2,3.8,3.5,3.5,4.8,3.3,3.9);y<-c(3.7,4.1,3.8,3.8,4.6,3.9,2.8,4.4);var1<-var(x);xbar<-mean(x);var2<-var(y);ybar<-mean(y);Sw2<-((n1-1)*var1+(n2-1)*var2)/(n1+n2-2)t<-(xbar-ybar)/(sqrt(Sw2)*sqrt(1/n1+1/n2));tvalue<-qt(alpha,n1+n2-2);(4)计算临界值:tvalue<-qt(alpha,n1+n2-2)(5)比较临界值和统计量的观测值,并作出统计推断实例计算结果及分析:alpha<-0.05;> n1<-8;> n2<-8;> x<-c(4.3,3.2,3.8,3.5,3.5,4.8,3.3,3.9);> y<-c(3.7,4.1,3.8,3.8,4.6,3.9,2.8,4.4);> var1<-var(x);> xbar<-mean(x);> var2<-var(y);> ybar<-mean(y);> Sw2<-((n1-1)*var1+(n2-1)*var2)/(n1+n2-2)> t<-(xbar-ybar)/(sqrt(Sw2)*sqrt(1/n1+1/n2));> var1[1] 0.2926786> xbar[1] 3.7875> var2[1] 0.29267862> ybar[1] 3.8875Sw2[1] 0.2926786> t[1] -0.3696873tvalue[1] -1.76131分析:t=-0.3696873>tvalue=-1.76131,所以接受假设H1即甲乙两人的测定无显著性差异。
(完整word版)一元线性回归模型习题及答案
一元线性回归模型一、单项选择题1、变量之间的关系可以分为两大类__________。
AA 函数关系与相关关系B 线性相关关系和非线性相关关系C 正相关关系和负相关关系D 简单相关关系和复杂相关关系 2、相关关系是指__________。
DA 变量间的非独立关系B 变量间的因果关系C 变量间的函数关系D 变量间不确定性的依存关系 3、进行相关分析时的两个变量__________。
AA 都是随机变量B 都不是随机变量C 一个是随机变量,一个不是随机变量D 随机的或非随机都可以 4、表示x 和y 之间真实线性关系的是__________。
CA 01ˆˆˆt tY X ββ=+ B 01()t t E Y X ββ=+ C 01t t t Y X u ββ=++ D 01t t Y X ββ=+5、参数β的估计量ˆβ具备有效性是指__________。
B A ˆvar ()=0βB ˆvar ()β为最小C ˆ()0ββ-= D ˆ()ββ-为最小 6、对于01ˆˆi i iY X e ββ=++,以σˆ表示估计标准误差,Y ˆ表示回归值,则__________。
B A i i ˆˆ0Y Y 0σ∑=时,(-)=B 2iiˆˆ0Y Y σ∑=时,(-)=0 C ii ˆˆ0Y Y σ∑=时,(-)为最小 D 2iiˆˆ0Y Yσ∑=时,(-)为最小 7、设样本回归模型为i 01i i ˆˆY =X +e ββ+,则普通最小二乘法确定的i ˆβ的公式中,错误的是__________。
D A ()()()i i 12iX X Y -Y ˆX X β--∑∑=B ()i iii122iin X Y -X Y ˆn X -X β∑∑∑∑∑=C ii122iX Y -nXY ˆX -nXβ∑∑= D i i ii12xn X Y -X Y ˆβσ∑∑∑=8、对于i 01i iˆˆY =X +e ββ+,以ˆσ表示估计标准误差,r 表示相关系数,则有__________。
第二章 一元线性回归分析基础-PPT文档资料
其中最简单的形式为一元线性函数关系。
例如 当某种商品单价P固定不变,其销售收入y与销售 的商品数量x之间的关系为一元线性关系,即y = Px 如果用x,y构成的直角坐标图来表示,上式所表示的 函数关系为一条经过坐标原点的直线,所有可能的点 都在这条直线上。
Y X Y Y Y 0 1 , X X X
其中Y为消费额,X为收入。
该线性方程描述了消费与收入之间的确定关系,即给定 一个收入值,可以根据方程得到一个唯一确定的消费值。 但实际上消费与收入间的关系不是准确实现的。
原因: 1. 消费除了受到收入的影响外,还受到其他一些因素 的影响。 例如,消费者所处群体的平均水平、家庭人口、消 费习惯、银行存款利率、商品价格变化趋势、对未 来收入的期望等。 2. 线性关系的近似性,即所假定的线性关系并不严格。 3. 收入数值的近似性,即所给定的收入数据本身并不 绝对的反映收入水平。 所以,更符合实际情况的消费与收入之间的关系如下
Y X u 是一个随机方程,参数和可以
用回归分析法求得,所以它是一个线性回归方程,因 而也是一个计量经济学方程。
因为绝大多数经济变量都受到多种其他经济变量 的影响,所以变量之间有完全确定的函数关系的情况 在经济问题中很少见。 引入随机误差项,将变量之间的关系用一个线性 随机方程来描述,用随机数学的方法来估计方程中的 参数,这就是线性回归模型的特征,也就是线性计量 经济学模型的特征。
X u , i 1 , 2 , , n 当k=2时, Y i 1 2 i i 为一元线性回归模型。 参数2确定了解释变量X影响被解释变量Y的基本关系, 不确定的部分由变量u表示,u称为随机误差项。 以家庭收入X与消费支出Y之间的关系为例 每个家庭的消费支出Y主要取决于该家庭的收入X, 但是也受其他因素的影响。 • 高收入的家庭,消费支出的离散性比较大(方差较大) • 低收入的家庭,消费支出的离散性比较小(方差较小) 通常,消费支出Y的分布函数是多种多样的,不一 定是正态分布,也不一定是相同的分布。分布函数的 方差、均值都不相同,分布函数的形式也不同。如图
用R软件进行回归分析
数理统计上机报告上机实验题目: 用R软件进行回归分析上机实验目的:1 进一步理解回归分析的基本思想, 学会使用回归进行统计推理。
2 学会利用R软件进行回归分析的方法。
一元线性回归基本理论、方法:1 根据样本观察值对经济计量模型参数进行估计, 求的回归方程。
2 对回归方程、参数估计值进行显著性检验。
3 利用回归方程进行分析、评论及预测。
P430第十一题上机实验步骤:y<-c(2813,2705,11103,2590,2131,5181)x<-c(3.25,3.20,5.07,3.14,2.90,4.02)xbar<-mean(x)L11<-sum((x-xbar)^2)ybar<-mean(y)Lyy<-sum((y-ybar)^2)L1y<-sum((x-xbar)*(y-ybar))n<-length(x)beta_1<-L1y/L11beta_0<-ybar-xbar*beta_1sigma2_hat<-(Lyy-beta_1*L1y)/(n-2)sigma_hat<-sqrt(sigma2_hat)实例计算结果及分析:1> L11[1] 3.321333> Lyy[1] 59353704> L1y[1] 13836.19> beta_0[1] -10562.69> beta_1[1] 4165.854> sigma_hat[1] 654.6287>P=-10562.69+4165LP432 第十八题上机实验步骤:y<-c(64,60,71,61,54,77,81,93,93,51,76,96,77,93,95,54,168,99)X<-matrix(0, nrow = 18, ncol = 4)X[,1]<-rep(1,18)X[,2]<-c(0.4,0.4,3.1,0.6,4.7,1.7,9.4,10.1,11.6,12.6,10.9,23.1,23.1,21 .6,23.1,1.9,26.8,29.9)X[,3]<-c(53,23,19,34,24,65,44,31,29,58,37,46,50,44,56,36,58,51)X[,4]<-c(158,163,37,157,59,123,46,117,173,112,111,114,134,73,168,143, 202,124)beta<-solve(t(X)%*%X)%*%t(X)%*%yyhat<-X%*%betaytidle<-y-yhat23所求得的回归方程为123ˆ43.65 1.780.080.16y x x x =+-+。
一元线性回归分析
总体回归函数
·y i4
y01x
样本回归
·y i 3
yˆ0ˆ1x 函数
yi0
· y i0 0 1 x i E y x x i
·y ·y
i i
2 1
0
2019/11/5
xi 朱晋
x
16
• 回归函数(PRF)说明被解释变量Y的平均状态
(总体条件期望)随解释变量X变化的规律。
第2章 一元线性回归分析
• §2.1 :回归分析及回归模型 • §2.2 :一元线性模型的参数估计 • §2.3 :参数估计值的性质及统计推断 • §2.4 :一元线性模型的统计检验 • §2.5 :一元线性模型的预测
2019/11/5
朱晋
1
§2.1 :回归分析及回归模型
一、变量间的关系及回归分析的基本概念 二、总体回归函数 三、随机扰动项 和总体回归模型的基本假设 四、样本回归函数
2019/11/5
朱晋
24
该样本的散点图(scatter diagram):
1700 1500 1300 Y 1100
900 700 500
0
500
1000
1500 X
2000
2500
3000
样本散点图近似于一条直线,画一条直线以尽可能好地拟
合该散点图,由于样本取自总体,可以该线近似地代表总体回 归线。该线称为样本回归线(sample regression lines),其函 数形式记为:
• 函数形式可以是线性或非线性的。
例2.1中:E(Y|Xi)01Xi 为 一线 性 函数 。 其中,1与 2 为未知然而固定的参数,称为回归系数 (regressioncoefficients) 。
一元线性回归分析
模型评估指标
模型评估指标用于衡量回归模型的拟合优度和预测精度。常用的指标包括均 方误差、决定系数和标准化残差等,可以帮助我们评估模型的有效性和适用 性。
参数估计方法
参数估计是确定回归模型中各个参数的取值的过程。常用的参数估计方法包括最小二乘法、最大似然估 计法和贝叶斯估计法等,可以帮助我们找到最优的参数估计结果。
一元线性回归分析
回归分析是一种用于建立变量之间关系的统计方法。本演示将介绍一元线性 回归模型的构建、参数估计、模型假设检验以及模型预测和应用。
回归分析的概述
回归分析是一种通过建立变量之间的关系来描述和预测现象的统计方法。它 可以帮助我们理解变量之间的因果关系,并从中推断出未知的检验
模型假设检验用于验证回归模型的假设是否成立。常见的假设检验包括检验回归系数的显著性、整体模 型的显著性以及模型的线性关系等,可以帮助我们判断模型是否可靠。
回归诊断和残差分析
回归诊断和残差分析通过检查模型的残差来评估模型的拟合优度和假设的满 足程度。常用的诊断方法包括残差图、QQ图和离群值分析等,可以帮助我们 发现模型的不足和改进方向。
模型预测和应用
回归模型可以用于预测未知观测值,并帮助我们做出决策和制定策略。它在经济学、社会科学、医学等 领域具有广泛的应用,可以为决策者提供有力的数据支持。
R软件一元线性回归分析(非常详细)
R软件一元线性回归分析合金钢强度与碳含量的数据序号碳含量/%合金钢强度/107pa1 0.10 42.02 0.11 43.03 0.12 45.04 0.13 45.05 0.14 45.06 0.15 47.57 0.16 49.08 0.17 53.09 0.18 50.010 0.20 55.011 0.21 55.012 0.23 60.0这里取碳含量为x是普通变量,取合金钢强度为y是随机变量使用R软件对以上数据绘出散点图程序如下:>x=matrix(c(0.1,42,0.11,43,0.12,45,0.13,45,0.14,45,0.15,47.5,0.16,49,0.17,53,0.18,50,0.2,55,0.21, 55,0.23,60),nrow=12,ncol=2,byrow=T,dimnames=list(1:12,c("C","E")))>outputcost=as.data.frame(x)>plot(outputcost$C,outputcost$E)0.100.120.140.160.180.200.224550556outputcost$Co u t p u t c o s t $E很显然这些点基本上(但并不精确地)落在一条直线上。
下面在之前数据录入的基础上做回归分析(程序接前文,下同)> lm.sol = lm(E~C,data = outputcost) >summary(lm.sol)得到以下结果:Call:lm(formula = E ~ C, data = outputcost)Residuals:Min 1Q Median 3Q Max -2.00449 -0.63600 -0.02401 0.71297 2.32451Coefficients:Estimate Std. Error t value Pr(>|t|) (Intercept) 28.083 1.567 17.92 6.27e-09 *** C 132.899 9.606 13.84 7.59e-08 *** ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 1.309 on 10 degrees of freedomMultiple R-squared: 0.9503, Adjusted R-squared: 0.9454 F-statistic: 191.4 on 1 and 10 DF, p-value: 7.585e-08由计算结果分析:常数项0∧β=28.083,变量(即碳含量)的系数1∧β=132.899 得到回归方程:∧y =28.083+132.899x由于回归模型建立使用的是最小二乘法 ,而最小二乘法只是一种单纯的数学方法 ,存在着一定的缺陷 ,即不论变量间有无相关关系或有无显著线性相关关系 ,用最小二乘法都可以找到一条直线去拟合变量间关系。
第一节一元线性回归分析-
一元线性回归模型
x的线性函数 随机误差
二、未知参数的估计
Y x , ~ N (0 ,2 ).
对 于 样 本 ( x 1 , Y 1 ) , ( x 2 , Y 2 ) ,, ( x n , Y n ) , 它 满 足
n
x2
] 2
(xi x)2
i 1
则ˆ ~N(,[1
n
n
x2
]2)
(xi x)2
i1
3 .对 x x 0 , 回 归 方 程 Y ˆ 0 = ˆ ˆ x 0 的 分 布
n
Y ˆ0ˆˆx0i n1(n 1n (x(ixi x)xx)2)Yi in 1((xxiixx))x20Yi
(
n i 1
xi
n
( xi
i 1
)ˆ (
) ˆ
n i 1
xi2
n i 1
)ˆ
yi
n i 1
xi
yi
12ˆ 800ˆ 811 800ˆ 53418ˆ 54107
求解得
ˆ= 35.82 ˆ0.476
则 Y 关 于 x 的 线 性 回 归 方 程 为
i 1
i 1
2. (,)的最大似然估 根 计 Y 据 1,Y2, ,Yn的独立性可度 得函 到数 联
Li n 11 2πexp 2 12(yixi)2
(1 2π)nexp 2 12i n 1(yixi)2 .
观 察 散 点 图 ,( x ) 具 有 线 性 函 数 x 的 形 式 .
2.建立回归模型
(x)x一元线性回归问题
R软件实现线性回归模型
Executive SummaryThe purpose of this project is to explore the impact of a set of variables like horsepower, transmission configuration, engine cylinder configuration, etc. on the mileage mpg (Miles per Gallon). And come up with a model which can accurately predict the mileage of a car. Ordinary Least Squares model was fit and best model was selected based on RMSE, R-squared and AIC value.Most of the predictors in the dataset are correlated which makes the ordinary least squares solution unstable and increases the variability. Therefore, we used the Partial least Sqaures which finds components that maximally summarise the variation of the predictors while simultaneously requiring the predictors to have maximum correlation with the response. 3 components were chosen as it gave the minimum RMSE value.On comparing both the models in terms of RMSE and R-squared, we conclude that PLS is a bit superior than the linear regression as the RMSE is significantly lower.Exploratory AnalysisWe plot various box plots to visualise the distribution of mpg by various groups of the categorical variable.[1] In plot-1 (see appendix for all plots) we see that the mpg of cars with automatic transmission is much lower than manual. We can check if the difference b/w their mean values are statistically significant through a two-samples independent t-test.aggregate(mpg~am, data = mtcars, mean)## am mpg## 1 0 17.14737## 2 1 24.39231t.test(mpg~am, data=mtcars)#### Welch Two Sample t-test#### data: mpg by am## t = -3.7671, df = 18.332, p-value = 0.001374## alternative hypothesis: true difference in means is not equal to 0## 95 percent confidence interval:## -11.280194 -3.209684## sample estimates:## mean in group 0 mean in group 1## 17.14737 24.39231p value <0.05, we reject the null hypothesis that the true mean difference is equal to zero. Hence, the difference is statistically significant and the cars with automatic transmission have alower mpg on an average. Plot-2 shows that generally, mpg of cars with S engine configuration is much higher. We can confirm this using a t-test as shown above.t.test(mpg~vs, data= mtcars)#### Welch Two Sample t-test#### data: mpg by vs## t = -4.6671, df = 22.716, p-value = 0.0001098## alternative hypothesis: true difference in means is not equal to 0## 95 percent confidence interval:## -11.462508 -4.418445## sample estimates:## mean in group 0 mean in group 1## 16.61667 24.55714##t = -4.6671, df = 22.716, p-value = 0.0001098p value is 0.0001, we reject the null hypothesis that the true mean difference b/w cars with different engine configuration is 0. The difference is statistically significant. The configuration of the engine significantly affects the mileage. By looking at plot-3 it is safe to assume, higher th number of cylinders in the car, lower is the mpg. Such definite conclusions cannot be drawn by looking at plot-4 & plot-5 but we can perform t-tests for it.head(mtcars,3)## mpg cyl disp hp drat wt qsec vs am gear carb## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1dim(mtcars)## [1] 32 11names(mtcars)## [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"## [11] "carb"For buliding the model we will randomly split the mtcars data into training and test setusing split.sample function in caTools package.[2].#install.packages("caTools")library(caTools)set.seed(88) #to fix the result that we get as we get different results everytime we r spl =sample(1:nrow(data), size=0.85*nrow(data))train =data[spl,]test =data[-spl,]#this is the method for splitting the data set into training and test data when the outcome #continuousmtcars1<-mtcars[-(28:32), ] #the training settest_data<-mtcars[28:32, ] #test data settest_data## mpg cyl disp hp drat wt qsec vs am gear carb## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.5 0 1 5 4## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.5 0 1 5 6## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.6 0 1 5 8## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.6 1 1 4 2Regression AnalysisWe have graphically seen that Manual is better for mpg. Now we will qantify the difference between them.mtcars1$cyl<-factor(mtcars1$cyl)mtcars1$vs<-factor(mtcars1$vs)mtcars1$am<-factor(mtcars1$am)mtcars1$carb<-factor(mtcars1$carb)mtcars1$gear<-factor(mtcars1$gear)There are various methods for choosing a subset of variables for the best regression model which can explain variability in response variable well. There are 2 classes of algorithms for that:---1. All possible regression approach2. sequential selectioni. forward selectionii. backward selectionModels are selected on the basis of adj. R2, MS Res, Mallow's statistic and/or AIC. Here I will use the 'all possible regression approach' algorithm and choose the best model on the basis of AIC using StepAIC funcion.Selecting the Best Model#install.packages("MASS")library(MASS)stepAIC(lm(mpg~., mtcars1), direction ="both") #direction can be forward, backward or both ## Start: AIC=58.36## mpg ~ cyl + disp + hp + drat + wt + qsec + vs + am + gear + carb#### Df Sum of Sq RSS AIC## - cyl 2 0.5244 77.711 54.543## - qsec 1 1.3899 78.577 56.842## - am 1 2.0239 79.211 57.059## - vs 1 3.3084 80.495 57.494## <none> 77.187 58.361## - wt 1 6.1828 83.369 58.441## - hp 1 6.2913 83.478 58.476## - gear 2 13.0445 90.231 58.577## - carb 3 21.9188 99.105 59.109## - disp 1 10.0829 87.270 59.675## - drat 1 24.4139 101.601 63.781#### Step: AIC=54.54## mpg ~ disp + hp + drat + wt + qsec + vs + am + gear + carb#### Df Sum of Sq RSS AIC## - qsec 1 0.975 78.686 52.880## - am 1 2.272 79.983 53.322## - vs 1 3.685 81.396 53.794## <none> 77.711 54.543## - gear 2 14.013 91.724 55.019## - wt 1 8.006 85.717 55.191## - hp 1 9.495 87.206 55.656## - disp 1 13.237 90.948 56.790## + cyl 2 0.524 77.187 58.361## - carb 3 36.381 114.092 58.912## - drat 1 28.307 106.018 60.930#### Step: AIC=52.88## mpg ~ disp + hp + drat + wt + vs + am + gear + carb#### Df Sum of Sq RSS AIC## - am 1 2.925 81.611 51.865## - vs 1 3.430 82.116 52.032## <none> 78.686 52.880## - wt 1 7.356 86.042 53.293## - gear 2 15.910 94.595 53.852## - hp 1 10.714 89.400 54.327## + qsec 1 0.975 77.711 54.543## - disp 1 12.295 90.981 54.800## + cyl 2 0.109 78.577 56.842## - drat 1 31.300 109.986 59.922## - carb 3 50.314 128.999 60.227#### Step: AIC=51.87## mpg ~ disp + hp + drat + wt + vs + gear + carb#### Df Sum of Sq RSS AIC## - vs 1 0.580 82.191 50.057## - wt 1 4.872 86.483 51.431## <none> 81.611 51.865## - hp 1 7.895 89.506 52.359## - disp 1 9.458 91.069 52.826## + am 1 2.925 78.686 52.880## - gear 2 16.904 98.515 52.948## + qsec 1 1.628 79.983 53.322## + cyl 2 0.181 81.430 55.805## - drat 1 39.399 121.010 60.501## - carb 3 60.038 141.649 60.753#### Step: AIC=50.06## mpg ~ disp + hp + drat + wt + gear + carb#### Df Sum of Sq RSS AIC## <none> 82.191 50.057## - hp 1 7.949 90.140 50.549## - gear 2 16.535 98.726 51.006## + qsec 1 0.784 81.406 51.798## + vs 1 0.580 81.611 51.865## - wt 1 12.873 95.064 51.985## + am 1 0.075 82.116 52.032## - disp 1 17.622 99.812 53.301## + cyl 2 0.091 82.100 54.027## - drat 1 40.417 122.608 58.855## - carb 3 61.085 143.276 59.061#### Call:## lm(formula = mpg ~ disp + hp + drat + wt + gear + carb, data = mtcars1) #### Coefficients:## (Intercept) disp hp drat wt## 6.43785 0.03444 -0.03613 5.56520 -2.27712## gear4 gear5 carb2 carb3 carb4## 4.49717 2.95981 -4.03391 -1.42888 -7.24308m1<-lm(mpg ~disp +hp +drat +wt +vs +am +gear +carb, data=mtcars1) #checking for multicollinearity using vif and clorrelation chart#install.packages("car")library(car)vif(m1)## GVIF Df GVIF^(1/(2*Df))## disp 58.92572 1 7.676309## hp 23.34290 1 4.831449## drat 14.24762 1 3.774602## wt 22.09888 1 4.700944## vs 24.57621 1 4.957440## am 23.80195 1 4.878724## gear 36.26722 2 2.454023## carb 144.39082 3 2.290463#install.packages("PerformanceAnalytics")library(PerformanceAnalytics)chart.Correlation(mtcars1[,c(1,3,4,5,6,7)], histogram =T)StepAIC fn. will form models with all possible combinations of regressors. Then model is selected on the basis of AIC (Akaike's Information Criteria);The variance inflation factor (VIF), which assesses how much the variance of an estimated regression coefficient increases if your predictors are correlated. If no factors are correlated, the VIFs will all be 1. A VIF between 5 and 10 indicates high correlation that may be problematic. And if the VIF goes above 10, you can assume that the regression coefficients are poorly estimated due to multicollinearity. Remove highly correlated predictors from the model. If you have two or morefactors with a high VIF, remove one from the model. Because they supply redundant information, removing one of the correlated factors usually doesn't drastically reduce the R-squared. Consider using stepwise regression, best subsets regression, or specialized knowledge of the data set to remove these variables.We remove disp as it is highly correlated with all the other regressors along with other regressors which had high vif. We fit various other models and select the best of them:m2<-lm(mpg~hp+drat+wt+am+carb-1, mtcars1)extractAIC(m2)## [1] 8.00000 51.25171summary(m2)$coef## Estimate Std. Error t value Pr(>|t|)## hp -0.023422257 0.01556769 -1.504543172 0.148884027## drat 4.979435055 1.74005818 2.861648600 0.009984374## wt -0.003874243 1.15347572 -0.003358756 0.997355121## am0 7.775902513 8.60531624 0.903616124 0.377513564## am1 9.979994455 8.74368339 1.141394765 0.267887780## carb2 -2.127666831 1.36934339 -1.553786172 0.136734494## carb3 -2.531807306 1.92848074 -1.312850705 0.204870209## carb4 -5.842635235 2.02749628 -2.881699602 0.009555014#the coef are not significant and vif is also somewhat highVariables like hp(horsepower), wt are expected to be significant but are not. Hence, problem due to multicollinearity still persists in the model. Hence, we remove wt. By looking at the correlation chart, we see that most of the regressor var. are correlated to each other. so we pick a model with less no. of regressors.m9<-lm(mpg~am+wt, mtcars1)m6<-lm(mpg~am+wt+hp, mtcars1)anova(m6,m9) #it is significant.## Analysis of Variance Table#### Model 1: mpg ~ am + wt + hp## Model 2: mpg ~ am + wt## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 23 154.23## 2 24 212.61 -1 -58.38 8.706 0.007174 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1m7<-lm(mpg~am+wt+hp+cyl, mtcars1)anova(m6,m7); #not significant according to anova## Analysis of Variance Table#### Model 1: mpg ~ am + wt + hp## Model 2: mpg ~ am + wt + hp + cyl## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 23 154.23## 2 21 126.14 2 28.09 2.3382 0.1211summary(m6)#### Call:## lm(formula = mpg ~ am + wt + hp, data = mtcars1)#### Residuals:## Min 1Q Median 3Q Max## -3.6144 -1.5918 -0.3638 1.1406 5.5011#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 32.79946 2.88463 11.370 6.43e-11 ***## am1 2.63214 1.60467 1.640 0.11455## wt -2.23388 1.03965 -2.149 0.04242 *## hp -0.04513 0.01530 -2.951 0.00717 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 #### Residual standard error: 2.59 on 23 degrees of freedom## Multiple R-squared: 0.8416, Adjusted R-squared: 0.8209## F-statistic: 40.72 on 3 and 23 DF, p-value: 2.295e-09vif(m6)## am wt hp## 2.161742 4.201016 3.160674extractAIC(m6) #variance inflation factor and AIC look good.## [1] 4.00000 55.05088According to our objectives our model must contain wt and am. Hence we start from there and perform anova test to check if the added regressor add any new, relevant information to the model. m6 is significant amongst all and it's variance inflation factor and AIC are also low. Mileage at zero weight and horsepower doesn't make any sense, we subtract the intercept.#final modelm6<-lm(mpg~am+wt+hp-1, mtcars1)summary(m6)#### Call:## lm(formula = mpg ~ am + wt + hp - 1, data = mtcars1)#### Residuals:## Min 1Q Median 3Q Max## -3.6144 -1.5918 -0.3638 1.1406 5.5011#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## am0 32.79946 2.88463 11.370 6.43e-11 ***## am1 35.43160 1.90375 18.612 2.31e-15 ***## wt -2.23388 1.03965 -2.149 0.04242 *## hp -0.04513 0.01530 -2.951 0.00717 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.59 on 23 degrees of freedom## Multiple R-squared: 0.9869, Adjusted R-squared: 0.9847## F-statistic: 434.1 on 4 and 23 DF, p-value: < 2.2e-16#all coef are significant.confint(m6, level =0.95)## 2.5 % 97.5 %## am0 26.83215463 38.76676260## am1 31.49339554 39.36979756## wt -4.38455441 -0.08320047## hp -0.07677241 -0.01348965Let's check how accurately it can predict the mileage of the car in the test_data.test_data$cyl<-factor(test_data$cyl)test_data$vs<-factor(test_data$vs)test_data$am<-factor(test_data$am)test_data$carb<-factor(test_data$carb)test_data$gear<-factor(test_data$gear)predict(m6, test_data) ; test_data## Lotus Europa Ford Pantera L Ferrari Dino Maserati Bora Volvo 142E## 26.95193 16.43561 21.34583 12.33776 24.30214## mpg cyl disp hp drat wt qsec vs am gear carb## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.5 0 1 5 4## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.5 0 1 5 6## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.6 0 1 5 8## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.6 1 1 4 21-(abs(predict(m6, test_data)-test_data[1]))/test_data[1]## mpg## Lotus Europa 0.8865768## Ford Pantera L 0.9597713## Ferrari Dino 0.9164555## Maserati Bora 0.8225173## Volvo 142E 0.8643862#comparing predictions through mean and standard deviation of accuracymean((1-(abs(predict(m6, test_data)-test_data[1]))/test_data[1])[,1]);mean((1-(abs(predict(m test_data)-test_data[1]))/test_data[1])[,1]) ## [1] 0.8899414## [1] 0.9041645sd((1-(abs(predict(m6, test_data)-test_data[1]))/test_data[1])[,1]);sd((1-(abs(predict(m7, test_data)-test_data[1]))/test_data[1])[,1]) ## [1] 0.05193654## [1] 0.07878624Predictions from m6 and the actual mileage of the cars in test data are very close with an average accuracy of abput 89%; model m6 is parsimonious and interpretable too.Checking basic assumptions of regressionres<-m6$residualsshapiro.test(res)#### Shapiro-Wilk normality test#### data: res## W = 0.95114, p-value = 0.2285#install.packages("ggfortify")library(ggfortify)autoplot(m6, label.size=4)p>0.05 hence we fail to reject the null hypothesis that residuals are normally distributed. By looking at diagnostic plots, we can say that the residuals are homoscedastic. The scatter points in QQ Plot also seem to lie on the line, thereby confirming their normality. Basic assumptions of regression are met.We can finally, say that compared to cars which had automatic transmission(0) we would expect mileage of cars with manual transmission(1) 2.6 miles per gallon more on average given values of other regressor variables remain same. By looking at the coefficient of theweight variable in the final model, we can conclude that a 1000lbs increase in the weight a car will decrease the mileage by 2.234 miles per gallon.Partial Least SquaresThe predictors in the dataset are correlated which makes the ordinary least squares solution unstable and increases the variability. Therefore, we will use the Partial least Sqaures which finds components that maximally summarise the variation of the predictors while simultaneously requiring the predictors to have maximum correlation with the response.#remove the columns which contains binary or nominal variables.library(e1071)seg_data<-mtcars[ ,-c(2,8:11)]apply(seg_data, 2, skewness)## mpg disp hp drat wt qsec## 0.6106550 0.3816570 0.7260237 0.2659039 0.4231465 0.3690453library(caret)trans<-preProcess(seg_data, method =c("center", "scale"))transformed<-predict(trans, seg_data)complt<-data.frame(transformed, mtcars[,c(2,8:11)])TrainXtrans<-data.frame(transformed[-1] , mtcars[,c(2,8:11)])TrainYtrans<-transformed[,1]The coefficients of skewness are not very large, BoxCox Transformations are not required.cntrl<-trainControl(method ="cv", number =8)plsTune <-train(TrainXtrans, TrainYtrans, method ="pls",trControl = cntrl)plsTune## Partial Least Squares#### 32 samples## 10 predictors#### No pre-processing## Resampling: Cross-Validated (8 fold)## Summary of sample sizes: 28, 28, 29, 27, 27, 29, ...## Resampling results across tuning parameters:#### ncomp RMSE Rsquared MAE## 1 0.4359938 0.9008139 0.3659894## 2 0.4689337 0.8752059 0.3888295## 3 0.4524320 0.8711316 0.3784411#### RMSE was used to select the optimal model using the smallest value.## The final value used for the model was ncomp = 1.Comparison between OLS and PLSWe will now compare the selected models from these two methods.dt<-t(data.frame(c(0.8935, 0.9021),c(0.40844, 6.556)))rownames(dt)<-c("R-squared","RMSE")colnames(dt)<-c("PLS","OLS")library(knitr);library(kableExtra)dt %>%kable("html") %>%kable_styling()PLS OLSR-squared0.893500.9021RMSE0.40844 6.5560The R-squared values do not differ much but the RMSE of PLS is much smaller than the RMSE of OLS. Hence the PLS model is superior than OLS.AppendixThis section includes all the above mentioned Plots.layout(matrix(c(1,2,1,2),2,2, byrow =TRUE))boxplot(mpg~am,data=mtcars,col=c("red", "turquoise"),xlab="transmission type", ylab="miles pergallon", names=c("Automatic","Manual"),main="Plot-1") boxplot(mpg~vs, data= mtcars, col=c(4,"cyan"), xlab="Engine Cylinder Configuration", ylab="Miles/Gallon", las=TRUE, names=c("V shape", "Straight Line Shape"), main="Plolayout(matrix(c(1,2,1,2),2,2, byrow = T))boxplot(mpg~cyl, data= mtcars, col=c("cyan",42,23),ylab="Miles per Gallon", las=TRUE, main="Plot-3")boxplot(mpg~gear, data= mtcars, col=c("cyan",42,23), xlab="No. of Gears",ylab="Miles per Gallon", las=T, main="Plot-4")boxplot(mpg~carb, data= mtcars, col=c("cyan",42,23,"green",600), xlab="Number of carburetors ylab="Miles per Gallon", las=T, main="Plot-5")。
用R软件实现一元线性回归
> plot(X,Y,main="每周加班时间和签发的新保单的散点图")> abline(lm(Y~X))结果分析:从图可发现,每周加班时间和签发的新保单成线性关系,因而可以考虑一元线性模型。
2.求出回归方程,并对相应的方程做检验> #求出回归方程,并对相应方程做检验> a<-lm(Y~X)> summary(a)Call:lm(formula = Y ~ X)Residuals:Min 1Q Median 3Q Max-0.87004 -0.12503 0.09527 0.37323 0.45258Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) 0.1215500 0.3588377 0.339 0.745X 0.0036427 0.0004303 8.465 6.34e-05 ***1 2 3 4 5 60.37322742 0.09527080 -0.01923262 -0.12503171 -0.87004313 -0.539186957 8 90.19457445 0.43784500 0.45257674> #标准化残差> ZRE<-e/1.319 ##计算回归a的标准化残差> ZRE1 2 3 4 5 60.28296241 0.07222957 -0.01458121 -0.09479281 -0.65962330 -0.408784657 8 90.14751664 0.33195224 0.34312111> #学生化残差> SRE<-rstandard(a) ##计算学生化残差> SRE1 2 3 4 5 60.81860384 0.24031521 -0.04418688 -0.27814114 -1.96460005 -1.435064557 8 90.46314803 0.95992536 1.10394132结果分析:可以看出,学生氏残差绝对值都小于2,因而模型符合基本假定。
一元线性回归分析
R软件实现线性回归模型
R软件实现线性回归模型R软件是一种基于S语言的开源统计分析软件,具有强大的数据分析和建模能力。
在R中,可以使用lm(函数来实现线性回归模型的建立和预测。
下面将介绍如何使用R软件实现线性回归模型。
首先,我们需要准备数据,以便进行回归分析。
假设我们有以下数据集,包含了自变量x和因变量y的观测值:```Rx<-c(10,15,20,25,30)y<-c(15,25,35,45,55)```接下来,我们可以使用lm(函数来建立线性回归模型。
lm(函数的基本语法为:```Rmodel <- lm(formula, data)```其中,formula是回归模型的公式,data是包含观测值的数据框。
回归模型的公式可以使用“y ~ x”的形式来表示,表示y是x的线性函数。
我们可以将以上数据集x和y代入lm(函数来建立线性回归模型:```Rmodel <- lm(y ~ x)```建立好线性回归模型后,可以使用summary(函数来查看模型的统计摘要:```Rsummary(model)```summary(函数将输出模型的拟合优度、回归系数的显著性等统计指标。
如果我们要对新的数据进行预测,可以使用predict(函数。
我们可以创建一个包含新数据的数据框,并将其作为predict(函数的参数。
例如,我们要预测x为35和40时的y值:```Rnewdata <- data.frame(x = c(35, 40))predictions <- predict(model, newdata)```predictions将返回预测的y值。
除了简单的一元线性回归模型,我们还可以构建多元线性回归模型。
在多元线性回归模型中,我们可以使用多个自变量来预测因变量。
假设我们有一个包含两个自变量x1和x2以及一个因变量y的数据集:```Rx1<-c(10,15,20,25,30)x2<-c(3,4,6,8,10)y<-c(25,35,45,55,65)```我们可以使用lm(函数来建立多元线性回归模型:```Rmodel <- lm(y ~ x1 + x2)```建立好模型后,可以使用summary(函数和predict(函数来进行模型的统计摘要和预测。
一元线性回归
2020/2/1
中山学院经济与管理系
4
2.1 模型的建立及其假定条件
2 回归分析的概念 回归分析研究一个变量关于另一个(些)变量的
具体依赖关系的计算方法和理论。
其用意:在于通过后者的已知或设定值,去估计 (或)预测前者的(总体)均值。
2020/2/1
中山学院经济与管理系
5
2.1 模型的建立及其假定条件
一般来说,回归模型的随机误差项中可能包 括如下几项内容。
(1)未在模型中列出的影响y变化的非重要
解释变量。如消费模型中家庭人口数、消 费习惯、物价水平差异等因素的影响都包 括在随机误差项中。
(2)人的随机行为。经济活动都是人参与 的。人的经济行为的变化也会对随机误差 项产生影响。
2020/2/1
中山学院经济与管理系
squares estimators)。
2020/2/1
中山学院经济与管理系
24
2.2 一元线性回归模型的参数估计
3 最小二乘直线的性质
(1)残n 差ei的均值等于0
因为 ei 0 ,所以 e
n
ei
i1
0
i 1
n
(2)残差ei与解释变量xi不相关
n
即
ei xi 0
(3)i1样本回归直线经过点( x, y )
y=33.73+0.516 x 这一方程表明:父母平均身高每增减一个单位时,其年 子女的身高仅平增减0.516个单位
2020/2/1
中山学院经济与管理系
6
这项研究结果表明,虽然高个子父辈有生高个子儿子
的趋势,矮个子的父辈有生矮个子儿子的趋势,但父辈
身高增减一个单位,儿子身高仅增减半个单位左右。通
R软件一元线性回归分析(非常详细)
R软件一元线性回归分析合金钢强度与碳含量的数据序号碳含量/%合金钢强度/107pa10.10 42.020.11 43.030.12 45.040.13 45.050.14 45.060.15 47.570.16 49.080.17 53.090.18 50.0100.20 55.0110.21 55.0120.23 60.0这里取碳含量为x是普通变量,取合金钢强度为y是随机变量使用R软件对以上数据绘出散点图程序如下:>x=matrix(c(0.1,42,0.11,43,0.12,45,0.13,45,0.14,45,0.15,47.5,0.16,49,0.17,53,0.18,50,0.2,55,0.21, 55,0.23,60),nrow=12,ncol=2,byrow=T,dimnames=list(1:12,c("C","E")))>outputcost=as.data.frame(x)>plot(outputcost$C,outputcost$E)0.100.120.140.160.180.200.224550556outputcost$Co u t p u t c o s t $E很显然这些点基本上(但并不精确地)落在一条直线上。
下面在之前数据录入的基础上做回归分析(程序接前文,下同)> lm.sol = lm(E~C,data = outputcost)>summary(lm.sol)得到以下结果:Call:lm(formula = E ~ C, data = outputcost)Residuals: Min 1Q Median 3Q Max-2.00449 -0.63600 -0.02401 0.71297 2.32451Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 28.083 1.567 17.92 6.27e-09 ***C 132.899 9.606 13.84 7.59e-08 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.309 on 10 degrees of freedomMultiple R-squared: 0.9503, Adjusted R-squared: 0.9454 F-statistic: 191.4 on 1 and 10 DF, p-value: 7.585e-08由计算结果分析:常数项=28.083,变量(即碳含量)的系数=132.8990∧β1∧β得到回归方程:=28.083+132.899x∧y 由于回归模型建立使用的是最小二乘法 ,而最小二乘法只是一种单纯的数学方法 ,存在着一定的缺陷 ,即不论变量间有无相关关系或有无显著线性相关关系 ,用最小二乘法都可以找到一条直线去拟合变量间关系。
一元线性回归分析基础
第二节 参数的最小二乘估计
2019年4月12日星期五
最小二乘法(OLS )(ordinary least squares ):求出参 数估计量使Q达到最小值. Q Q 正规方程: 0, 0
即 : 2 Yt X t 0 Y X 2 X t Yt X t 0
第一章 一元线性回归分析基础
第一节 模型的假定
2019年4月12日星期五
或
Y=f(X1,X2,…,Xn,u)
(1—5)
其中最简单的形式为一元线性回归模型 Y=β1+β2X+u (1—6)
计量经济学只讨论变量之间不完全确定的关系, 如式(1—4)或式(1—5)所表示的关系。 如式(1—6)所表示的关系式,称为一元线性回归 模型。 “一元”是指只有一个自变量X,这个自变量X可 以解释引起因变量Y变化的部分原因。因此,X称为解 释变量,Y称为被解释变量,β1和β2为参数。
2019年4月12日星期五
为简化表达式,从本节起,在不会发生误解的情况下, 略去求和指标t求和的上下限。只要求和符号没有上下限, 就表示为从t=1到t=n求和。即用求和符号∑代替符号
n t 1
假设估计直线:Y= а* + β*X а*,β*为参数估计 当X=Xt
Yt= а* + β*Xt (Xt,Yt)→(Xt, а* + β*Xt) 残差:et= Yt-( а* + β*Xt) 误差:ut= Yt-( а+ βXt) 残差平方和:Q=∑ et2= ∑ [Yt-( а* + β*Xt)]2
任何样本都是有限的
第一章 一元线性回归分析基础
第十一章-一元线性回归分析
第十一章一元线性回归11.1从某一行业中随机抽取12家企业,所得产量与生产费用的数据如下:企业编号产量(台)生产费用(万元)企业编号产量(台)生产费用(万元)1 40 130 7 84 1652 42 150 8 100 1703 50 155 9 116 1674 55 140 10 125 1805 65 150 11 130 1756 78 154 12 140 185要求:(1)绘制产量与生产费用的散点图,判断二者之间的关系形态。
(2)计算产量与生产费用之间的线性相关系数。
(3)对相关系数的显著性进行检验(α = 0.05),并说明二者之间的关系强度。
解:(1)利用Excel的散点图绘制功能,绘制的散点图如下:从散点图的形态可知,产量与生产费用之间存在正的线性相关。
(2)利用Excel的数据分析中的相关系数功能,得到产量与生产费用的线性相关系数r = 0.920232。
(3)计算t统计量,得到t = 7.435453,在α = 0.05的显著性水平下,临界值为2.6337,统计量远大于临界值,拒绝原假设,产量与生产费用之间存在显著的正线性相关关系。
r大于0.8,高度相关。
11.2 学生在期末考试之前用于复习的时间(单位:h)和考试分数(单位:分)之间是否有关系?为研究这一问题,以为研究者抽取了由8名学生构成的一个随机样本,得到的数据如下:复习时间x考试分数y20 6416 6134 8423 7027 8832 9218 7222 77要求:(1)绘制复习时间和考试分数的散点图,判断二者之间的关系形态。
(2)计算相关系数,说明两个变量之间的关系强度。
解:(1)利用Excel的散点图绘制功能,绘制的散点图如下:从散点图的形态来看,考试分数与复习时间之间似乎存在正的线性相关关系。
(2)r = 0.862109,大于0.8,高度相关。
11.3根据一组数据建立的线性回归方程为ˆ100.5=-。
y x要求:ˆβ的意义。
一元线性回归分析讲义
因变量; ➢ 相关分析中x、y均为随机变量,回归分析中只有y为随
机变量; ➢ 相关分析测定相关程度和方向,回归分析用回归模型进
行预测和控制。
6
(2) 一元线性回归模型假设条件
➢ 自变量x只有一个; ➢ 因变量Y与自变量x之间具有线性关系; ➢ x是非随机的,Y是随机的; ➢ 误差项, ~ N(0 , 2) , 即 的分布与x无
关; ➢ 不同的x对应的误差项 是相互独立的。
图2-1溶解氧浓度随时间变化曲线
18
根据例1,可以求得: x 2.4, y 0.2
8
8
xi
i 1
19.2000
, i1
yi
1.6100
Lxx 14.5000 , Lxy -0.6840 , Lyy 0.0407
由此可得:
^
b
Lxy
Lxx
-0.0472
,
^
a
y
^
b
x
0.3145
这样就得到流动时间 x 和溶解氧浓度 y 之间的
分析方面的一些工作,…是数理统计 学发展史中的重要事件.”──摘自《中 国大百科全书》(数学卷)。
Yˆ 3 3 .7 3 0 .5 1 6 X
回归分析是处理变量之间相关关系的一种数学方法。 3
八大功能
1.Water Quantity Treatment 2.Water Quality Treatment 3.Groundwater Recharge 4.Micro-Climate Alteration 5.Vegetative Buffering 6.Wildlife Habitat 7.Natural Area Protection 8.Aesthetic Improvement
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
R软件一元线性回归分析数据选自数理统计教材例题8.4.1
合金钢强度与碳含量的数据
序号碳含量
/%
合金钢强度
/107pa
1 0.10 42.0
2 0.11 43.0
3 0.12 45.0
4 0.13 45.0
5 0.14 45.0
6 0.15 47.5
7 0.16 49.0
8 0.17 53.0
9 0.18 50.0
10 0.20 55.0
11 0.21 55.0
12 0.23 60.0
这里取碳含量为x是普通变量,取合金钢强度为y是随机变量
使用R软件对以上数据绘出散点图
程序如下:
>
x=matrix(c(0.1,42,0.11,43,0.12,45,0.13,45,0.14,45,0.15,47.5,0.16,49,0.17,53,0.18,50,0.2,55,0.21, 55,0.23,60),nrow=12,ncol=2,byrow=T,dimnames=list(1:12,c("C","E")))
>outputcost=as.data.frame(x)
>plot(outputcost$C,outputcost$E)
0.100.120.140.16
0.180.200.22
4550556
outputcost$C
o u t p u t c o s t $E
很显然这些点基本上(但并不精确地)落在一条直线上。
下面在之前数据录入的基础上做回归分析(程序接前文,下同)
> lm.sol = lm(E~C,data = outputcost) >summary(lm.sol)
得到以下结果:
Call:
lm(formula = E ~ C, data = outputcost)
Residuals:
Min 1Q Median 3Q Max -2.00449 -0.63600 -0.02401 0.71297 2.32451
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 28.083 1.567 17.92 6.27e-09 *** C 132.899 9.606 13.84 7.59e-08 *** ---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.309 on 10 degrees of freedom
Multiple R-squared: 0.9503, Adjusted R-squared: 0.9454 F-statistic: 191.4 on 1 and 10 DF, p-value: 7.585e-08
由计算结果分析:
常数项0∧β=28.083,变量(即碳含量)的系数1∧
β=132.899 得到回归方程:∧
y =28.083+132.899x
由于回归模型建立使用的是最小二乘法 ,而最小二乘法只是一种单纯的数学方法 ,存在着一定的缺陷 ,即不论变量间有无相关关系或有无显著线性相关关系 ,用最小二乘法都可以找到一条直线去拟合变量间关系。
所以回归模型建立之后 ,还要对其进行显著性检验 :
在上面的结果中sd(0∧
β)=1.567,sd(1∧
β)=9.606。
而对应于两个系数的P 值6.27e-09和7.59e-08,故是非常显著的。
关于方程的检验,残差的标准差∧
σ=1.309。
相关系数的平方R 2 = 0.9503。
关于F 分布的P 值为7.585e-08,也是非常显著的。
我们将得到的直线方程画在散点图上,程序如下: > abline(lm.sol)
得到散点图及相应的回归直线:
0.100.120.140.16
0.180.200.22
45505560
outputcost$C
o u t p u t c o s t $
E
下面分析残差:
在R 软件中,可用函数residuals ()计算回归方程的残差。
程序如下:
> y.res=residuals(lm.sol); plot(y.res) 得到残差图
246
81012
-2-101
2
Index
y .r e s
从残差图可以看出,第8个点有些反常,这样我们用程序将第8个点的残差标出,程序如下:
>text(8,y.res[8],labels=8,adj=1.2)
246
81012
-2-101
2Index
y .r e s
8
这个点可能有问题,下面做简单处理,去掉该样本点,编程如下:>i=1:12;
outputcost2=as.data.frame(x[i!=8,])
lm2=lm(E~C,data=outputcost2)
summary(lm2)
结果输出如下:
Call:
lm(formula = E ~ C, data = outputcost2)
Residuals:
Min 1Q Median 3Q Max
-1.7567 -0.5067 -0.1308 0.6821 1.6787
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.124 1.335 21.06 5.75e-09 ***
C 131.293 8.217 15.98 6.51e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.115 on 9 degrees of freedom
Multiple R-squared: 0.966, Adjusted R-squared: 0.9622
F-statistic: 255.3 on 1 and 9 DF, p-value: 6.506e-08
由结果分析,去掉第8个点之后,回归方程系数变化不大,R2 相关系数有所提高,并且p-值变小了,这说明样本点8可以去掉。
所得新模型较为理想。
总结程序如下:
>
x2=matrix(c(0.1,42,0.11,43,0.12,45,0.13,45,0.14,45,0.15,47.5,0.16,49 ,0.18,50,0.2,55,0.21,55,0.2 3,60),nrow=11,ncol=2,byrow=T,dimnames=list(1:11,c("C","E")))
>outputcost=as.data.frame(x2)
>plot(outputcost$C,outputcost$E)
>lm.sol = lm(E~C,data = outputcost)
>summary(lm.sol) Call:
lm(formula = E ~ C, data = outputcost)
Residuals:
Min 1Q Median 3Q Max -1.7567 -0.5067 -0.1308 0.6821 1.6787
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 28.124 1.335 21.06 5.75e-09 *** C 131.293 8.217 15.98 6.51e-08 *** ---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.115 on 9 degrees of freedom
Multiple R-squared: 0.966, Adjusted R-squared: 0.9622 F-statistic: 255.3 on 1 and 9 DF, p-value: 6.506e-08
>abline(lm.sol)
得到最后的散点图和回归直线
0.100.120.140.16
0.180.200.22
45505560
outputcost$C
o u t p u t c o s t $E
得到回归方程:
y=28.124+131.293x。