如何用F-statistic来判断哪个回归模型F较合适

苹果/安卓/wp
积分 93, 距离下一级还需 52 积分
权限: 自定义头衔
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
大家好 我现在需要去检验了个回归模型何者较适合 (一个有加入平方项,一个没有。) 我看文献是去比较两个回归式的F-statistic 但是我两个模型的F-statistic都是:F(22, 22) = .&& 两者字的颜色都是蓝色的 不知道是出了什么问题呢?
从你的论述来看,这个两个模型应该是嵌套的,其中一个比另一个多了平方项,而其余的变量应该相同,如果是这种情况的,可以直接看平方项的t检验结果也是可以,如果用F检验也是等价的。
本帖被以下文库推荐
& |主题: 12506, 订阅: 38
不知道LZ用的什么软件做的回归
从你的论述来看,这个两个模型应该是嵌套的,其中一个比另一个多了平方项,而其余的变量应该相同,如果是这种情况的,可以直接看平方项的t检验结果也是可以,如果用F检验也是等价的。
谢谢楼上的答复
不过我比较疑惑”F(22, 22)= . “到底是代表什么意义
(因为我怕这代表回归有问题)
直接用F检验来看那个平方的变量是否显著就可以了吧
各位前辈们好
我已经了解到可以用t检定来检验影响是否显著
但我现在想知道的是
F检定并没有显示任何的数值
是不是代表我的回归有问题呢
都没有人知道吗QQ
知道的人麻烦告之一下
不然用这样的回归结果心中好不踏实啊
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师语言模型+logprob,Rstudio中log-log模型,总体回归模型名词解释_知识与问答
dependent var akaike info criterion schwarz criterion f-statistic prob(f-statistic) 模型:log(y)=log(x1)+c 可得模型:log(y)=log(x1)+12 第二步:进行.........
log_prob,表示 ngram 的组合概率。 二,arpa-lm 数据结构多个项组成的整个 n-gram 语言模型的数据结构如下: [cpp] view plaincopyprint? class arpalm { .........
研究表明, ( ht ) = log( ht ) g 时模型的估计效果较好。 egarch ...dependent var akaike info criterion schwarz criterion f-statistic prob(f-.........
loglik = mhmm_logprob(data, prior, transmat, mu, sigma, mixmat computing...(已知状态转移矩阵和混淆矩阵,即确定了一个 hmm 模型)来求状态序列,此时状.........
dependent var akaike info criterion schwarz criterion f-statistic prob(f-...估计模型 create a
data y k l genr ly=log(y) genr lk=log(.........
prob.** 23 max-eigenvalue test indicates 1 ...(s): log likelihood 19689 normalized cointegrating coefficients (standard .........
用r语言求置信区间_数学_自然科学_专业资料。用 r 语言求置信区间 如果你要求...pbinom(q, size, prob, lower.tail = true, log.p = false) qbinom(p,.........
of regression sum squared resid log likelihood durbin-watson stat ma(2)模型...dependent var akaike info criterion schwarz criterion f-statistic prob(f-.........
of regression sum squared resid log likelihood
-... 445 536 prob..........
经典线性回归模型的eviews操作 - 数据导入、adf检验、序列相关检验、多重共线性检验... of regression sum squared resid log likelihood f-statistic prob(f-statisti.........
(dljj, prob=true, 12) lines(density(dljj)) qqnorm(dljj) qqline(dljj...下面等式代表将要使用的数学模型: log(jj)=趋势+季节+误差 log(jj) = trend.........
eviews 面板数据之固定效应模型在面板数据线性回归模型中,如果对于不同的截面或...of regression sum squared resid log likelihood f-statistic prob(f-statistic).........
[i]*log(prob[i],2) return(ent) } 我们这里把最后一列作为衡量熵的指标...《决策树模型组合之随机森林与 gbdt》 关于学习器组合的内容可以参阅 leftnoteasy.........
每题 2 分,共 20 分)aacdb ccadb 下列样本模型中,哪一个模型通常是...of regression sum squared resid log likelihood f-statistic prob(f-statistic).........
log likelihood -46272 f-statistic 7302 durbin000000 durbin-watson...prob(fstat prob(f-statistic) 从回归结果看,模型拟合良好, 检验, 检验也显著.........
■ 网友在搜R做多元线性回归全攻略 - 简书
R做多元线性回归全攻略
R中的线性回归函数比较简单,就是lm(),比较复杂的是对线性模型的诊断和调整。这里结合Statistical Learning和杜克大学的Data Analysis and Statistical Inference的章节以及《R语言实战》的OLS(Ordinary Least Square)回归模型章节来总结一下,诊断多元线性回归模型的操作分析步骤。1、选择预测变量因变量比较容易确定,多元回归模型中难在自变量的选择。自变量选择主要可分为向前选择(逐次加使RSS最小的自变量),向后选择(逐次扔掉p值最大的变量)。个人倾向于向后选择法,一来p值比较直观,模型返回结果直接给出了各变量的p值,却没有直接给出RSS;二来当自变量比较多时,一个个加比较麻烦。Call:
lm(formula = Sales ~ . + Income:Advertising + Age:Price, data = Carseats)
Residuals:
Coefficients:
Estimate Std. Error t value Pr(&|t|)
(Intercept)
6..0087470
6.519 2.22e-10 ***
& 2e-16 ***
0..0026044
4.183 3.57e-05 ***
Advertising
0..0226091
3.107 0.002030 **
Population
0..0003679
0.433 0.665330
& 2e-16 ***
ShelveLocGood
& 2e-16 ***
ShelveLocMedium
& 2e-16 ***
-0..0159506
-3.633 0.000318 ***
-0..0196131
-1.063 0.288361
0..1124019
1.247 0.213171
-0..1489234
-1.058 0.290729
Income:Advertising
0..0002784
2.698 0.007290 **
0..0001333
0.801 0.423812
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.011 on 386 degrees of freedom
Multiple R-squared:
Adjusted R-squared:
F-statistic:
210 on 13 and 386 DF,
p-value: & 2.2e-16
构建一个回归模型后,先看F统计量的p值,这是对整个模型的假设检验,原假设是各系数都为0,如果连这个p值都不显著,无法证明至少有一个自变量对因变量有显著性影响,这个模型便不成立。然后看Adjusted R2,每调整一次模型,应该力使它变大;Adjusted R2越大说明模型中相关的自变量对因变量可解释的变异比例越大,模型的预测性就越好。构建了线性模型后,如果是一元线性回归,可以画模型图初步判断一下线性关系(多元回归模型不好可视化):par(mfrow=c(1,1))
plot(medv~lstat,Boston)
fit1=lm(medv~lstat,data=Boston)
abline(fit1,col="red")
2、模型诊断确定了回归模型的自变量并初步得到一个线性回归模型,并不是直接可以拿来用的,还要进行验证和诊断。诊断之前,先回顾多元线性回归模型的假设前提(by Data Analysis and Statistical Inference):(数值型)自变量要与因变量有线性关系;残差基本呈正态分布;残差方差基本不变(同方差性);残差(样本)间相关独立。一个好的多元线性回归模型应当尽量满足这4点假设前提。用lm()构造一个线性模型fit后,plot(fit)即可返回4张图(可以par(mfrow=c(2,2))一次展现),这4张图可作初步检验:
左上图用来检验假设1,如果散点看不出什么规律,则表示线性关系良好,若有明显关系,则说明非线性关系明显。右上图用来检验假设2,若散点大致都集中在QQ图中的直线上,则说明残差正态性良好。左下图用来检验假设3,若点在曲线周围随机分布,则可认为假设3成立;若散点呈明显规律,比如方差随均值而增大,则越往右的散点上下间距会越大,方差差异就越明显。假设4的独立性无法通过这几张图来检验,只能通过数据本身的来源的意义去判断。右下图是用来检验异常值。异常值与三个概念有关:离群点:y远离散点主体区域的点杠杆点:x远离散点主体区域的点,一般不影响回归直线的斜率强影响点:影响回归直线的斜率,一般是高杠杆点。对于多元线性回归,高杠杆点不一定就是极端点,有可能是各个变量的取值都正常,但仍然偏离散点主体。对于异常值,可以谨慎地删除,看新的模型是否效果更好。《R语言实战》里推荐了更好的诊断方法,总结如下。1、多元线性回归假设验证:gvlma包的gvlma()函数可对拟合模型的假设作综合验证,并对峰度、偏度进行验证。states &- as.data.frame(state.x77[, c("Murder", "Population",
"Illiteracy", "Income", "Frost")])
fit &- lm(Murder ~ Population + Illiteracy + Income +
Frost, data = states)
library(gvlma)
gvmodel &- gvlma(fit)
summary(gvmodel)
gvlma(x = fit)
Value p-value
Global Stat
2.5 Assumptions acceptable.
1.0 Assumptions acceptable.
0.6 Assumptions acceptable.
Link Function
0.1 Assumptions acceptable.
Heteroscedasticity 0.3 Assumptions acceptable.
最后的Global Stat是对4个假设条件进行综合验证,通过了即表示4个假设验证都通过了。最后的Heterosceasticity是进行异方差检测。注意这里假设检验的原假设都是假设成立,所以当p&0.05时,假设才能能过验证。如果综合验证不通过,也有其他方法对4个假设条件分别验证:线性假设library(car)
crPlots(fit)
返回的图是各个自变量与残差(因变量)的线性关系图,若存着明显的非线性关系,则需要对自变量作非线性转化。书中说这张图表明线性关系良好。正态性library(car)
qqPlot(fit,labels = row.names(states),id.method = "identify",simulate = TRUE,main = "Q-Q Plot")
qqPlot()可以生成交互式的qq图,选中异常点,就返回该点的名称。该图中除了Nevad点,其他点都在直线附近,可见正态性良好。同方差性library(car)
ncvTest(fit)
Non-constant Variance Score Test
Variance formula: ~ fitted.values
Chisquare = 1.746514
p = 0.1863156
p值大于0.05,可认为满足方差相同的假设。独立性library(car)
durbinWatsonTest(fit)
lag Autocorrelation D-W Statistic p-value
-0.2006929
Alternative hypothesis: rho != 0p值大于0.05,可认为误差之间相互独立。除了以上4点基本假设,还有其他方面需要进行诊断——2、多重共线性理想中的线性模型各个自变量应该是线性无关的,若自变量间存在共线性,则会降低回归系数的准确性。一般用方差膨胀因子VIF(Variance Inflation Factor)来衡量共线性,《统计学习》中认为VIF超过5或10就存在共线性,《R语言实战》中认为VIF大于4则存在共线性。理想中的线性模型VIF=1,表完全不存在共线性。library(car)
Population Illiteracy
可见这4个自变量VIF都比较小,可认为不存在多重共线性的问题。3、异常值检验离群点离群点有三种判断方法:一是用qqPlot()画QQ图,落在置信区间(上图中两条虚线)外的即可认为是离群点,如上图中的Nevad点;一种是判断学生标准化残差值,绝对值大于2(《R语言实战》中认为2,《统计学习》中认为3)的可认为是离群点。plot(x=fitted(fit),y=rstudent(fit))
abline(h=3,col="red",lty=2)
abline(h=-3,col="red",lty=2)
which(abs(rstudent(fit))&3)
还有一种方法是利用car包里的outlierTest()函数进行假设检验:library(car)
outlierTest(fit)
rstudent unadjusted p-value Bonferonni p
Nevada 3.542929
这个函数用来检验最大的标准化残差值,如果p&0.05,可以认为没有离群点;若p&0.05,则该点是离群点,但不能说明只有一个离群点,可以把这个点删除之后再作检验。第三种方法可以与第二种方法结合起来使用。高杠杆点高杠杆值观测点,即是与其他预测变量有关的离群点。换句话说,它们是由许多异常的预测变量值组合起来的,与响应变量值没有关系。《统计学习》中给出了一个杠杆统计量,《R语言实战》中给出了一种具体的操作方法。(两本书也稍有出入,《统计学习》中平均杠杆值为(p+1)/n,而在《R语言实战》中平均杠杆值为p/n;事实上在样本量n比较大时,几乎没有差别。)hat.plot &- function(fit){
p &- length(coefficients(fit))
n &- length(fitted(fit))
plot(hatvalues(fit),main = "Index Plot of Hat Values")
abline(h=c(2,3)*p/n,col="red",lty=2)
identify(1:n, hatvalues(fit), names(hatvalues(fit)))
#这句产生交互效果,选中某个点后,关闭后返回点的名称
hat.plot(fit)
超过2倍或3倍的平均杠杆值即可认为是高杠杆点,这里把Alaska和California作为高杠杆点。强影响点强影响点是那种若删除则模型的系数会产生明显的变化的点。一种方法是计算Cook距离,一般来说, Cook’s D值大于4/(n-k -1),则表明它是强影响点,其中n 为样本量大小, k 是预测变量数目。cutoff &- 4/(nrow(states-length(fit$coefficients)-2)) #coefficients加上了截距项,因此要多减1
plot(fit,which=4,cook.levels = cutoff)
abline(h=cutoff,lty=2,col="red")
实际上这就是前面诊断的4张图之一,语句还是plot(fit),which=4表示指定第4张图,cook.levels可设定标准值。红色虚线以上就返回了强影响点。car包里的influencePlot()函数能一次性同时检查离群点、高杠杆点、强影响点。library(car)
influencePlot(fit,id.method = "identity", main="Influence Plot",
sub="Circle size is proportional to Cook's distance")
Alaska 1...4480510
Nevada 3...2099157
纵坐标超过+2或小于-2的点可被认为是离群点,水平轴超过0.2或0.3的州有高杠杆值(通常为预测值的组合)。圆圈大小与影响成比例,圆圈很大的点可能是对模型参数的估计造成的不成比例影响的强影响点。3、模型调整到目前为止,《统计学习》中提到的多元线性回归模型潜在的问题,包括4个假设不成立、异常值、共线性的诊断方法在上面已经全部得到解决。这里总结、延伸《R语言实战》里提到的调整方法——删除观测点对于异常值一个最简单粗暴又高效的方法就是直接删除,不过有两点要注意。一是当数据量大的时候可以这么做,若数据量较小则应慎重;二是根据数据的意义判断,若明显就是错误就可以直接删除,否则需判断是否会隐藏着深层的现象。另外删除观测点后要与删除之前的模型作比较,看模型是否变得更好。变量变换
在进行非线性变换之前,先看看4个假设是否成立,如果成立可以不用变换;没必要追求更好的拟合效果而把模型搞得太复杂,这有可能出现过拟合现象。如果连假设检验都不通过,可以通过变量变换来调整模型。这里只讨论线性关系不佳的情况,其他情况遇到了再说。(1)多项式回归如果残差图中呈现明显的非线性关系,可以考虑对自变量进行多项式回归。举一个例子:library(MASS)
library(ISLR)
fit1=lm(medv~lstat,data=Boston)
plot(fit1,which = 1)
可以看到这个一元线性回归模型的残差图中,散点的规律还是比较明显,说明线性关系较弱。fit1_1 &- lm(medv~poly(lstat,2),data = Boston)
plot(fit1_1,which = 1)
将自变量进行2次多项式回归后,发现现在的残差图好多了,散点基本无规律,线性关系较明显。再看看两个模型的整体效果——summary(fit1)
summary(fit1_1)
可见多项式回归的模型Adjusted R2也增大了,模型的解释性也变强了。多项式回归在《统计学习》后面的非线性模型中还会提到,到时候再讨论。(2)Box-Tidwell变换car包中的boxTidwell() 函数通过获得预测变量幂数的最大似然估计来改善线性关系。library(car)
boxTidwell(Murder~Population+Illiteracy,data=states)
Score Statistic
p-value MLE of lambda
Population
-0..7468465
Illiteracy
0..5356651
iterations =
#这里看lambda,表示各个变量的幂次数
lmfit &- lm(Murder~Population+Illiteracy,data=states)
lmfit2 &- lm(Murder~I(Population^0.87)+I(Illiteracy^1.36),data=states)
plot(lmfit,which = 1)
plot(lmfit2,which = 1)
summary(lmfit)
summary(lmfit2)
可以发现残差图和Adjusted R2的提升都甚微,因此没有必要作非线性转换。4、模型分析(1)模型比较前面只是简单得用Adjusted R2来比较模型,《R语言实战》里介绍了可以用方差分析来比较嵌套模型(即它的一些项完全包含在另一个模型中)有没有显著性差异。方差分析的思想是:如果线性模型y~x1+x2+x3与y~x1+x2没有显著性差异,若同时x3变量对模型也不显著,那就没必要加上变量x3。下面进行试验:aovfit1 &- lm(Murder~Population+Illiteracy+Income+Frost,data=states)
aovfit2 &- lm(Murder~Population+Illiteracy,data=states)
anova(aovfit1,aovfit2)
Analysis of Variance Table
Model 1: Murder ~ Population + Illiteracy + Income + Frost
Model 2: Murder ~ Population + Illiteracy
RSS Df Sum of Sq
47 289.25 -2 -0..9
summary(aovfit1)
Coefficients:
Estimate Std. Error t value Pr(&|t|)
(Intercept) 1.235e+00
Population
Illiteracy
4.738 2.19e-05 ***
Residual standard error: 2.535 on 45 degrees of freedom
Multiple R-squared:
Adjusted R-squared:
F-statistic: 14.73 on 4 and 45 DF,
p-value: 9.133e-08
summary(aovfit2)
Coefficients:
Estimate Std. Error t value Pr(&|t|)
(Intercept) 1.652e+00
Population
0.00724 **
Illiteracy
6.978 8.83e-09 ***
Residual standard error: 2.481 on 47 degrees of freedom
Multiple R-squared:
Adjusted R-squared:
F-statistic: 30.75 on 2 and 47 DF,
p-value: 2.893e-09
Income和Frost两个变量不显著,两个模型之间没有显著性差异,就可以不加这两个变量。删去这两个不显著的变量后,R2略微减少,Adjusted R2增大,这也符合二者的定义。《R语言实战》里还介绍到了用AIC(Akaike Information Criterion,赤池信息准则)值来比较模型,AIC值越小的模型优先选择,原理不明。aovfit1 &- lm(Murder~Population+Illiteracy+Income+Frost,data=states)
aovfit2 &- lm(Murder~Population+Illiteracy,data=states)
AIC(aovfit1,aovfit2)
6 241.6429
4 237.6565
第二个模型AIC值更小,因此选第二个模型(真是简单粗暴)。注:ANOVA需限定嵌套模型,AIC则不需要。可见AIC是更简单也更实用的模型比较方法。(2)变量选择这里的变量选择与最开始的变量选择同也不同,虽然是一回事,但一开始是一个粗略的变量的选择,主要是为了构建模型;这里则要进行细致的变量选择来调整模型。逐步回归前面提到的向前或向后选择或者是同时向前向后选择变量都是逐步回归法。MASS包中的stepAIC() 函数可以实现逐步回归模型(向前、向后和向前向后),依据的是精确AIC准则。以下实例是向后回归法:library(MASS)
aovfit1 &- lm(Murder~Population+Illiteracy+Income+Frost,data=states)
stepAIC(aovfit1,direction = "backward")
# “forward”为向前选择,"backward"为向后选择,"both"为混合选择
Murder ~ Population + Illiteracy + Income + Frost
Df Sum of Sq
0.021 289.19
0.057 289.22
- Population
39.238 328.41 102.111
- Illiteracy
144.264 433.43 115.986
Murder ~ Population + Illiteracy + Income
Df Sum of Sq
0.057 289.25
- Population
43.658 332.85 100.783
- Illiteracy
236.196 525.38 123.605
Murder ~ Population + Illiteracy
Df Sum of Sq
- Population
48.517 337.76
- Illiteracy
299.646 588.89 127.311
lm(formula = Murder ~ Population + Illiteracy, data = states)
Coefficients:
(Intercept)
Population
Illiteracy
可见原本的4元回归模型向后退了两次,最终稳定成了2元回归模型,与前面模型比较的结果一致。全子集回归《R语言实战》里提到了逐步回归法的局限:不是每个模型都评价了,不能保证选择的是“最佳”模型。比如上例中,从Murder ~ Population + Illiteracy + Income + Frost到Murder ~ Population + Illiteracy + Income再到Murder~Population+Illiteracy虽然AIC值确实在减少,但Murder ~ Population + Illiteracy + Frost没评价,如果遇到变量很多的情况下,逐步回归只沿一个方向回归,就有可能错过最优的回归方向。library(leaps)
leaps &- regsubsets(Murder~Population+Illiteracy+Income+Frost,data=states,nbest=4)
plot(leaps,scale = "adjr2")
横坐标是变量,纵坐标是Adjusted R2,可见除截距项以外,只选定Population和Illiteracy这两个变量,可以使线性模型有最大的Adjusted R2。全子集回归比逐步回归范围更广,模型优化效果更好,但是一旦变量数多了之后,全子集回归迭代的次数就很多,就会很慢。事实上,变量的选择不是机械式地只看那几个统计指标,更主要的是根据数据的实际意义,从业务角度上来选择合适的变量。线性模型变量的选择在《统计学习》后面的第6章还会继续讲到,到时继续综合讨论。(3)交互项交互项《统计学习》中花了一定篇幅来描写,但在《R语言实战》是在方差分析章节中讨论。添加变量间的交互项有时可以改善线性关系,提高Adjusted R2。针对数据的实际意义,如果两个基本上是独立的,也很难产生交互、产生协同效应的变量,那就不必考虑交互项;只有从业务角度分析,有可能产生协同效应的变量间才考虑交互项。涉及到交互项有一个原则:如果交互项是显著的,那么即使变量不显著,也要放在回归模型中;若变量和交互项都不显著,则可以都不放。(4)交叉验证Andrew Ng的Machine Learning中就提到了,模型对旧数据拟合得好不一定就对新数据预测得好。因此一个数据集应当被分两训练集和测试集两部分(或者训练集、交叉验证集、测试集三部分),训练好的模型还要在新数据中测试性能。所谓交叉验证,即将一定比例的数据挑选出来作为训练样本,另外的样本作保留样本,先在训练样本上获取回归方程,然后在保留样本上做预测。由于保留样本不涉及模型参数的选择,该样本可获得比新数据更为精确的估计。在k 重交叉验证中,样本被分为k个子样本,轮流将k-1个子样本组合作为训练集,另外1个子样本作为保留集。这样会获得k 个预测方程,记录k 个保留样本的预测表现结果,然后求其平均值。bootstrap包中的crossval()函数可以实现k重交叉验证。shrinkage &- function(fit, k = 10) {
require(bootstrap)
# define functions
theta.fit &- function(x, y) {
lsfit(x, y)
theta.predict &- function(fit, x) {
cbind(1, x) %*% fit$coef
# matrix of predictors
x &- fit$model[, 2:ncol(fit$model)]
# vector of predicted values
y &- fit$model[, 1]
results &- crossval(x, y, theta.fit, theta.predict, ngroup = k)
r2 &- cor(y, fit$fitted.values)^2
r2cv &- cor(y, results$cv.fit)^2
cat("Original R-square =", r2, "\n")
cat(k, "Fold Cross-Validated R-square =", r2cv, "\n")
cat("Change =", r2 - r2cv, "\n")
这个自定义的shrinkage()函数用来做k重交叉验证,比计算训练集和交叉验证集的R方差异。这个函数里涉及到一个概念:复相关系数。复相关系数实际上就是y和fitted(y)的简单相关系数。对于一元线性回归,R2就是简单相关系数的平方;对于多元线性回归,R2是复相关系数的平方。这个我没有成功地从公式上推导证明成立,就记下吧。这个方法用到了自助法的思想,这个在统计学习后面会细致讲到。fit &- lm(Murder ~ Population + Income + Illiteracy +
Frost, data = states)
shrinkage(fit)
Original R-square = 0.5669502
10 Fold Cross-Validated R-square = 0.441954
Change = 0.1249963
可见这个4元回归模型在交叉验证集中的R2下降了0.12之多。若换成前面分析的2元回归模型——fit2 &- lm(Murder ~ Population
+ Illiteracy , data = states)
shrinkage(fit2)
Original R-square = 0.5668327
10 Fold Cross-Validated R-square = 0.517304
Change = 0.
这次R2下降只有约0.05。R2减少得越少,则预测得越准确。5、模型应用(1)预测最重要的应用毫无疑问就是用建立的模型进行预测了。构建好模型后,可用predict()函数进行预测——fit2 &- lm(Murder ~ Population
+ Illiteracy , data = states)
predict(fit2,
newdata = data.frame(Population=c(),Illiteracy=c(1.7,2.2)),
interval = "confidence")
2 11...73661
这里newdata提供了两个全新的点供模型来预测。还可以用interval指定返回置信区间(confidence)或者预测区间(prediction),这也反映了统计与机器学习的一个差异——可解释性。注意置信区间考虑的是平均值,而预测区间考虑的是单个观测值,所以预测区间永远比置信区间广,因此预测区间考虑了单个观测值的不可约误差;而平均值同时也把不可约误差给抵消掉了。(2)相对重要性有的时候需要解释模型中各个自变量对因变量的重要程度,简单处理可以直接看系数即可,《R语言实战》里自定义了一个relweights()函数可以计算各个变量的权重:relweights &- function(fit, ...) {
R &- cor(fit$model)
nvar &- ncol(R)
rxx &- R[2:nvar, 2:nvar]
rxy &- R[2:nvar, 1]
svd &- eigen(rxx)
evec &- svd$vectors
ev &- svd$values
delta &- diag(sqrt(ev))
# correlations between original predictors and new orthogonal variables
lambda &- evec %*% delta %*% t(evec)
lambdasq &- lambda^2
# regression coefficients of Y on orthogonal variables
beta &- solve(lambda) %*% rxy
rsquare &- colSums(beta^2)
rawwgt &- lambdasq %*% beta^2
import &- (rawwgt/rsquare) * 100
lbls &- names(fit$model[2:nvar])
rownames(import) &- lbls
colnames(import) &- "Weights"
# plot results
barplot(t(import), names.arg = lbls, ylab = "% of R-Square",
xlab = "Predictor Variables", main = "Relative Importance of Predictor Variables",
sub = paste("R-Square = ", round(rsquare, digits = 3)),
return(import)
不要在意算法原理和代码逻辑这种细节,直接看结果:fit &- lm(Murder ~ Population + Illiteracy + Income +
Frost, data = states)
relweights(fit, col = "lightgrey")
Population 14.723401
Illiteracy 59.000195
fit$coefficients
(Intercept)
Population
Illiteracy
1. 0. 4. 0. 0.
barplot(fit$coefficients[2:5])
在本例中,相对权重与系数的排序结果一致。推荐用相对权重。
我一句话不说,那是坠吼的。
但是看到你们这么热情,
我一句话不说也不好。
[toc] 第8章 回归 拟合并解释线形模型 检验模型假设 模型选择 回归分析是统计学的核心,通指那些用预测变量(也称自变量或解释变量)来预测响应变量(也成因变量、校标变量或结果变量)的方法。回归分析可用于挑选与响应变量相关的解释变量、描述两者的关系,也可以生成一个等式,通...
Chapter 9 Linear Regression 本篇是第九章,内容是回归分析(主要以线性回归为主)。回归分析是数理统计、数理分析中最基础(也可以说是最重要)的一个分析,所以这一章内容相对来说也较多。 1 变量间的关系 确定型关系vs不确定型关系函数关系——一一对应的...
介绍 我正在和一位刚刚在印度超市连锁店担任运营经理的朋友说话。在我们的讨论中,我们开始谈论在印度节日(排灯节)开始之前,连锁店需要做的准备量。 他告诉我,他们估计/预测哪个产品会像热蛋糕一样销售,哪些产品不会在购买之前是至关重要的。一个不好的决定可能会让您的客户在竞争对手商...
摘要:本文结合实际案例,介绍机器学习的线性回归模型,包括一元线性回归和多元线性回归,以及模型的评估。案例展示用Python代码实现。 一元线性回归 在机器学习系列1——机器学习概况中我们讲到,监督学习的主要任务是做预测,其中一种是回归性预测,预测某一个连续型变量的数值。在线...
本次推文介绍用线性模型处理回归问题。 从简单问题开始,先处理一个响应变量和一个解释变量的一元问题。 然后,介绍多元线性回归问题(multiple linear regression),线性约束由多个解释变量构成。 紧接着,介绍多项式回归分析(polynomial regre...
文/丛中笑 “为你,千千万万遍” 话音一落就去追 那个断线了的风筝 多年后那个割断风筝线的男人 也追那断线的风筝 为过去的自私、懦弱 窗外 燥热的天气 毒辣的太阳 恨不得抽干你身上的水分 汽车刺耳的鸣笛声络绎不绝 还有不知名的嘈杂声 喧嚣 充斥着整座城 夜幕降临之后似乎才不...
今天,到了梦寐以求的大都市上海,一下飞机,扑面的寒流把我兴趣吹得有些失落。加上在街道上看到一小青年与一大爷发生些碰撞,引起小摩擦,破口大骂,使我对这个城市印象大打折扣。我们看了外滩,除了建筑独特些外,没太多惊喜。还有城隍庙,也只是好吃的小吃,完全商业化。也许时间太短,对这...
做善研究、勤实践的教师
——深圳学员返岗实践活动四间房站培训有感
四间房一中 崔喜玲 百花齐放万木争春,莺歌燕舞喜迎大地,最是人间四月天。4月11日,我们三个课改核心校的所有语文教师齐聚在四间房一中参加了一场别开生面的培训活动。说是别开生面,是因为这次的培训者全部...
鞋带掉了,就很自然的把脚放在台阶上,然后双手撑腰,叫着“嗯哼,浩仔浩仔” 看到可爱的布娃娃,你抱着,然后摆出跟它一样的表情,叫着“喔嚯,小浩子小浩子” 闹脾气的时候,你在前面走着玩着手机。红灯亮了,我拉着你,你眼角红着笑着,“嘻嘻,我就知道,你会看着我” 逛街的时候,我在后...
《通往财富自由之路》本周的主题是:长期究竟有多长?我是星期三才将这三张表重新做了一遍,我比较懒,用复制粘贴公式的方式做的这几张表。和大多数同学一样,我也被笑来老师的那三张关于复利效应的表给震撼到了。我以前只是单纯按照单利的计算方式测算投资回报率,得出的结论是投资风险大于收益...

我要回帖

更多关于 回归模型F值 的文章

 

随机推荐