精华内容
下载资源
问答
  • 78-预测分析-R语言实现-岭回归与LASSO回归
    2021-02-11 08:57:21

    > library(pacman)

    > p_load(dplyr, readr, caret)

    以上一节中未去除离群值的MSE为3619.029,修正R2为0.8603和去除离群值后的MSE为2690.545,修正R2为0.8706为基准,以及两个模型在测试集上的MSE分别为2914.014和1672.859,对模型进行改进。

    > results

    + "original", 3619.029, 0.8603, 2914.014,

    + "remove_out", 2690.545, 0.8706, 1672.859)

    > results

    ## # A tibble: 2 x 4

    ## model mse r_square test_mse

    ##

    ## 1 original 3619. 0.860 2914.

    ## 2 remove_out 2691. 0.871 1673.

    1、数据预处理

    > machine

    > names(machine)

    + "cach", "chmin", "chmax", "prp", "erp")

    > machine

    >

    > set.seed(123)

    > ind

    >

    > dtrain

    > dtest

    2、缩减特征集

    > ct

    > set.seed(123)

    > fit.step

    + trControl = ct, preProcess = c("corr"), trace = F)

    >

    > summary(fit.step$finalModel)

    ##

    ## Call:

    ## lm(formula = .outcome ~ myct + mmin + mmax + cach + chmax, data = dat)

    ##

    ## Residuals:

    ## Min 1Q Median 3Q Max

    ## -163.94 -29.68 3.25 28.52 355.05

    ##

    ## Coefficients:

    ## Estimate Std. Error t value Pr(>|t|)

    ## (Intercept) -6.024e+01 8.909e+00 -6.762 2.01e-10 ***

    ## myct 5.550e-02 1.998e-02 2.777 0.006084 **

    ## mmin 1.476e-02 2.006e-03 7.358 7.20e-12 ***

    ## mmax 5.725e-03 6.919e-04 8.275 3.33e-14 ***

    ## cach 5.693e-01 1.443e-01 3.944 0.000116 ***

    ## chmax 1.683e+00 2.301e-01 7.313 9.33e-12 ***

    ## ---

    ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

    ##

    ## Residual standard error: 61.33 on 173 degrees of freedom

    ## Multiple R-squared: 0.8644, Adjusted R-squared: 0.8605

    ## F-statistic: 220.6 on 5 and 173 DF, p-value: < 2.2e-16

    > compute_mse

    + mean((prediction - actual) ^ 2)

    + }

    >

    > compute_mse(fit.step$finalModel$fitted.values, dtrain$prp)

    ## [1] 3634.847

    > compute_mse(predict(fit.step, newdata = dtest), dtest$prp)

    ## [1] 2785.94

    使用逐步回归模型的结果为:

    > results

    + tibble(model = "step",

    + mse = 3634.847,

    + r_square = 0.8605,

    + test_mse = 2785.94))

    > results

    ## # A tibble: 3 x 4

    ## model mse r_square test_mse

    ##

    ## 1 original 3619. 0.860 2914.

    ## 2 remove_out 2691. 0.871 1673.

    ## 3 step 3635. 0.860 2786.

    去掉离群值后,再次逐步回归:

    > dtrain.new

    > set.seed(123)

    > fit.step.out

    + trControl = ct, preProcess = c("corr"), trace = F)

    >

    > summary(fit.step.out$finalModel)

    ##

    ## Call:

    ## lm(formula = .outcome ~ myct + mmin + mmax + cach + chmax, data = dat)

    ##

    ## Residuals:

    ## Min 1Q Median 3Q Max

    ## -168.560 -23.668 2.268 21.691 271.120

    ##

    ## Coefficients:

    ## Estimate Std. Error t value Pr(>|t|)

    ## (Intercept) -4.474e+01 7.930e+00 -5.643 6.78e-08 ***

    ## myct 4.193e-02 1.731e-02 2.422 0.0165 *

    ## mmin 1.697e-02 1.752e-03 9.690 < 2e-16 ***

    ## mmax 4.629e-03 6.125e-04 7.557 2.35e-12 ***

    ## cach 5.968e-01 1.244e-01 4.797 3.48e-06 ***

    ## chmax 1.168e+00 2.090e-01 5.588 8.84e-08 ***

    ## ---

    ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

    ##

    ## Residual standard error: 52.85 on 172 degrees of freedom

    ## Multiple R-squared: 0.8702, Adjusted R-squared: 0.8664

    ## F-statistic: 230.6 on 5 and 172 DF, p-value: < 2.2e-16

    > compute_mse(fit.step.out$finalModel$fitted.values, dtrain.new$prp)

    ## [1] 2698.78

    > compute_mse(predict(fit.step.out, newdata = dtest), dtest$prp)

    ## [1] 1812.763

    > results

    + tibble(model = "step_out",

    + mse = 2698.78,

    + r_square = 0.8664,

    + test_mse = 1812.763))

    > results

    ## # A tibble: 4 x 4

    ## model mse r_square test_mse

    ##

    ## 1 original 3619. 0.860 2914.

    ## 2 remove_out 2691. 0.871 1673.

    ## 3 step 3635. 0.860 2786.

    ## 4 step_out 2699. 0.866 1813.

    删减特征后,模型在训练集上的mse都增大了,但在测试集上的mse却减小了。去除离群值后,mse都有所增大。

    3、正则化

    岭回归和lasso都值得尝试,当依赖于输入特征的某个子集的模型时往往用lasso表现更好;但当很多不同变量的系数具有较大分散度的模型则往往在岭回归下有更好的表现。

    3.1 岭回归

    但数据集维度很高时,尤其是和能获得的观测数据的数量相比很大时,线性回归往往会表现出非常高的方差。

    岭回归是一种通过其约束条件引入偏误但能有效地减小模型方差的方法。

    > set.seed(123)

    > fit.ridge

    + trControl = ct, preProcess = c("corr"))

    >

    > fit.ridge$bestTune

    ## lambda

    ## 3 0.1

    > fit.ridge$results$Rsquared[3]

    ## [1] 0.8058767

    > compute_mse(predict(fit.ridge, newdata = dtrain), dtrain$prp)

    ## [1] 3730.474

    > compute_mse(predict(fit.ridge, newdata = dtest), dtest$prp)

    ## [1] 2958.191

    > results

    + tibble(model = "ridge",

    + mse = 3730.474,

    + r_square = 0.8059,

    + test_mse = 2958.191))

    > results

    ## # A tibble: 5 x 4

    ## model mse r_square test_mse

    ##

    ## 1 original 3619. 0.860 2914.

    ## 2 remove_out 2691. 0.871 1673.

    ## 3 step 3635. 0.860 2786.

    ## 4 step_out 2699. 0.866 1813.

    ## 5 ridge 3730. 0.806 2958.

    3.2 lasso回归

    lasso是岭回归的一种替代正则化方法。它们之间的差别体现在惩罚项里,岭回归是将有效的将系数压缩到更小的值,而lasso最小化的是系数的绝对值之和,由于lasso会把某些系数完全收缩到0,所以它兼具了选择和收缩的功能,这个是岭回归是不具备的。

    在模型中,当alpha参数取值为0时是岭回归,alpha取值为1时是lasso。

    > set.seed(123)

    > fit.lasso

    + trControl = ct, preProcess = c("corr"))

    >

    > fit.lasso$bestTune

    ## fraction

    ## 3 0.9

    > fit.lasso$results$Rsquared[3]

    ## [1] 0.7996164

    > compute_mse(predict(fit.lasso, newdata = dtrain), dtrain$prp)

    ## [1] 3664.031

    > compute_mse(predict(fit.lasso, newdata = dtest), dtest$prp)

    ## [1] 2628.372

    最终选择的是alpha=0,即岭回归模型。

    > results

    + tibble(model = "lasso",

    + mse = 3664.031,

    + r_square = 0.7996,

    + test_mse = 2628.372))

    > results

    ## # A tibble: 6 x 4

    ## model mse r_square test_mse

    ##

    ## 1 original 3619. 0.860 2914.

    ## 2 remove_out 2691. 0.871 1673.

    ## 3 step 3635. 0.860 2786.

    ## 4 step_out 2699. 0.866 1813.

    ## 5 ridge 3730. 0.806 2958.

    ## 6 lasso 3664. 0.800 2628.

    综合对比,数据在去除离群值的线性回归模型上性能最优。

    更多相关内容
  • R语言-岭回归的代码与案例解读

    千次阅读 2022-03-04 15:23:24
    应用岭回归的场景有很多。 本文介绍的是 在应用多元线性回归时 遇到多重共线性问题,且无法删除变量或者增加样本量的情况下,应用岭回归的情况。

    应用岭回归的场景有很多。
    本文介绍的是 在应用多元线性回归时 遇到多重共线性问题,且无法删除变量或者增加样本量的情况下,应用岭回归的情况。

    • 案例:互联网经济对中国经济增长影响
    • 基础模型:C-D生产函数:Y=A*L^α *K^β
    • 应用模型:岭回归
    • 使用工具:r语言
    • 使用程序包:‘MASS’、‘xlsx’、‘car’
    • 准备数据:Y:国民生产总值、K:固定资产投资;L:年期末就业人数;A:互联网综合发展水平
    • 数据处理:为了模型的稳定性与计算的简易性,分别对两端取对数,变成线性关系,得到最终模型:lnY=γlnA+αlnL+βlnk
    • 变量解释与结果推测:综合考虑互联网经济的指标体系和数据的可得性,采用因子分析的方法估计综合技术水平A(详情可点击)。γ、α、β表示互联网经济产出弹性系数、劳动力弹性和资本弹性系数,本文推测,生产弹性系数会符合以下估计:
      (1)α+β+γ>1,表示最终经济规模呈递增趋势;
      (2)α<1、β<1,表示边际收益递减的规律性,γ>1,表示互联网经济的边际收益递增性,符合互联网经济的特征。

    对数线性化与多重共线性判别

    #加载程序包与数据
    library(MASS)
    library(xlsx)
    library(car)
    y <- read.xlsx("D:/RData/sets/Y.xlsx",1,encoding = "UTF-8")
    l <- read.xlsx("D:/RData/sets/L.xlsx",1,encoding = "UTF-8")
    a <- read.xlsx("D:/RData/sets/A.xlsx",1,encoding = "UTF-8")
    k <- read.xlsx("D:/RData/sets/K.xlsx",1,encoding = "UTF-8")
    dataY <-(y,a,l,k)
    #得到相关系数矩阵:变量之间呈同向变动的关系,符合经济发展的规律
    scatterplotMatrix(dataY,spread=FALSE,smoother.args=list(lty=2),main="Scatter Plot Matrix")
    

    相关系数矩阵图,可以看到gdp分别与互联网综合发展水平,劳动力和资本之间的关系

    #数据对数化
    ly <- log(y)
    la <- log(a)
    ll <- log(l)
    lk <- log(k)
    dY <-data.frame(ly,la,ll,lk)
    #做最小二乘回归
    fit <- lm(gdp~a+l+k,data=dataY)
    fit
    summary(fit)
    

    用最小二乘法建立计量模型,由(表6)看到,虽然模型的拟合优度足够高,F值也很大,整体拟合效果好,但是模型系数检验不显著。显而易见考虑模型的多重共线性问题

    在这里插入图片描述

    • 多重共线性是指在除了因变量与自变量的关系外,在解释变量之间也存在线性相关关系的一种形式。多重共线性导致gdp与互联网综合发展水平、劳动和资本之间的关系不显著。
    #应用vif值的开方来判断是否存在多重共线性
    library(car)
    vif(fit)
    sqrt(vif(fit))>2
    #vif值开方远大于2,存在多重共线性。
    
    • 岭回归是一种有偏估计,虽然对数据的无偏估计不准确,但是可以更准确的得到α,β,γ之间的系数关系。
    #首先用岭迹图判断k值区间并使用GCV值来进行岭回归估计
    plot(lm.ridge(dY[,1]~dY[,2]+dY[,3]+dY[,4],data = dY,lambda = seq(0,0.5,0.001)))
    #确定k至的估计区间在0-0.5间
    

    #确定k值并选择GCV值=0.127.做岭回归。
    select(lm.ridge(dY[,1]~dY[,2]+dY[,3]+dY[,4],data = dY,lambda = seq(0,0.5,0.001)))
    ridge1 <- lm.ridge(dY[,1]~dY[,2]+dY[,3]+dY[,4],data = dY,lambda =0.127)
    ridge1 <- lm.ridge(gdp~a+l+k,data = dY,lambda =0.127)
    ridge1
    

    在这里插入图片描述

    结果分析

    从系数符号看,符合我们前面对本模型的系数估计。即弹性系数之和大于1,互联网技术弹性系数大于1,劳动力弹性系数和资本弹性系数小于1。从整体来看,α+β+γ大于1,表明了边际产量递增的趋势,符合当前经济发展的现状,当国家投入劳动力和资本和技术时,经济发展水平总量增加。
    (分别具体的每个系数分析在这里不做过多讲述)
    本文结论为:我国正处于技术推动经济发展的新时代,应以互联网技术为核心,结合信息与知识,对我国经济发展做出贡献。

    总结

    本文以具体案例为例子,讲解了岭回归模型的r语言实现过程,并对案例进行一定程度的分析。希望可以对大家有帮助。

    在本文中对互联网综合发展指数的因子分析求解可以看该连接:
    http://t.csdn.cn/q3q9O

    展开全文
  • 岭回归技术的原理和应用作者马文敏岭回归分析是一种专用于共线性分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息,降低精度为代价获得回归系数更为符合实际...

    岭回归技术的原理和应用

    作者马文敏

    岭回归分析是一种专用于共线性分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息,降低精度为代价获得回归系数更为符合实际,更可靠的回归方法,对病态数据的耐受性远远强于最小二乘法。

    回归分析:他是确立两种或两种以上变量间相互依赖的定量关系的一种统计分析法。运用十分广泛,回归分析按照设计量的多少,分为一元回归和多元回归分析,按照因变量的多少,可分为简单回归分析和多重回归分析,按照自变量和因变量的多少类型可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和因变量,且两者关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或俩个以上的自变量,且自变量之间存在线性相关,则称为多重性回归分析

    岭回归的原理:岭回归的原理较为复杂。根据高斯马尔科夫定理,多重相关性并不影响最小二乘估计量的无偏性和最小方差性,但是,虽然最小二乘法估计量在所有线性无偏估计量中是方差最小的,但是这个方差却不一定最小。而实际上可以找一个有偏估计量,这个估计量虽然有微笑的偏差,但他的精度却能够大大高于无偏的估计量。岭回归分析就是依据这个原理,通过在正规方程中引入有偏常数而求得回归估计量的,具体情况可以查阅资料。

    对于有些矩阵,矩阵中某个元素的一个很小变动,会引起最后计算结果误差很大,这种矩阵称为病态矩阵。有些时候不正确的计算方法也会使一个正常的矩阵在运算中表现出病态。对于高斯消去法来说,如果主元上的元素很小,在计算时就会表现出病态的特征。

    岭回归方程的平方值会稍低于普通回归分析,但回归技术的显著性往往明显高于普通回归,在存在共线性的问题和病态数据偏多的研究中有较大的利用价值

    岭回归的应用:在家禽育植的应用:讨论了岭回归方法应用于混合线性模式方程组中估计家禽育植方法,其实质是将传统的混合线性模型方程组理解为一种广义岭回归估计,为确定遗传参数的估计提供一种途径,同时,以番鸭为例,考虑了一个性状和两个固定效应,采用广义岭回归对公番鸭育植进行了估计,并与最佳线性无偏预测法进行了比较,结果表明,广义岭回归方法和BLUP法估计的育种植及其排序极其相似,其相关系数和秩 相关系数分别达到了0.998和0.986,且采用广义岭回归法预测的误差率极低,表明在混合线性模型方程组中使用广义岭回归估计动物育植方法具有可行性,并可省去估计遗传参数的过程,使BLUP法在动物选育中的应用更具有实用性。

    正向和反向相结合的卫星摄影数据模拟:卫星摄影数据仿真,通常采用正向模拟和反向模拟两种方法。正向模拟方法简单易行,无需替代计算,但地面点坐标在Y方向存在较大的差异,反向模拟可规避Y方向存在的差异问题,但必须基于已有的DEM数据,且DEM数据范围要与外方位元素范围基本一致,模拟数据受数据源条件制约。

    参考文件

    百度-----人大经济论坛

    百度------道客巴巴

    火狐浏览器

    展开全文
  • R语言岭回归实现函数

    万次阅读 多人点赞 2019-03-22 09:00:41
    1.利用GCV(广义交叉验证)实现最优岭回归参数选择 #根据GCV方法,获取最佳岭参数k #x:自变量的数据矩阵 #y:响应变量向量或矩阵 #kmax:岭参数的最大值 #qnum:根据0~kmax分成qnum等分 #intT:是否计算矩阵 ...

    1.利用GCV(广义交叉验证)实现最优岭回归参数选择

    #根据GCV方法,获取最佳岭参数k
    #x:自变量的数据矩阵
    #y:响应变量向量或矩阵
    #kmax:岭参数的最大值
    #qnum:根据0~kmax分成qnum等分
    #intT:是否计算矩阵
    getBestK <-function(X,Y,kMax=1,qnum=10,intT=TRUE){
    if(intT)
    X <-cbind(t0=1,X)
    kvals=c(0,(1:qnum)*(kMax/qnum))
    n=nrow(X)
    glist <-NULL
    for (k in kvals) {
    mk=X%*%solve(t(X)%*%X+k*diag(ncol(X)))%*%t(X)
    yk=mk%*%Y
    Xs<-svd(X)
    d <-Xs$d
    dx <-length(d)
    div <-d^2 +rep(k,rep(dx,1))
    GCV <-sum((Y-yk)^2)/(n-sum(matrix(d^2/div,dx)))^2
    glist <-c(glist,GCV)}
    return(list(k=kvals[which.min(glist)],gval=min(glist),glist=glist))
    }
    

    引用getBestK函数,实现最优岭回归参数k的选择

    library(MASS)
    x=as.matrix(data[,1:3])
    y=data[,4]
    m0=getBestK(x,t(t(y)),kMax = 1,qnum = 2000)
    m0$k
    

    结果如下:
    在这里插入图片描述

    2.实现岭回归分析的函数

    在进行岭回归时,发现可以使用两个函数,lm.Ridge及linearRidge,都可以实现。

    首先读入数据:

    data <-read.csv("D:\\sample\\sample_2.csv",header=T) 
    

    (1)lm.Ridge()函数
    实现的代码分别如下:

    Library(MASS)
    lr<-lm.ridge(N ~ SHDI + MIDU + LSI + CONTAG,data=data5,lambda = 0.0085,model = TRUE) #把lambda设置为0.0085,是通过下面的代码求得的最佳岭回归参数,但获取岭回归参数的方法较多,同时也会造成结果不同,如果lambda不进行设置,会默认为0
    lr #显示模型的参数系数,不能显示R^2等误差的情况,也不能使用summary()函数
    

    结果:
    在这里插入图片描述


    对于k值得选择除了,最上面的getBestK函数外,还可以通过岭迹曲线得到,但是在k值选择时,受人为主观意识影响大,获取lm.ridge函数得到的模型对应的岭迹曲线,代码如下:

    library(MASS)
    ridge.sol <- lm.ridge(N ~ SHDI + MIDU + LSI + CONTAG, lambda = seq(0,1, length = 2000), data = data5, model = TRUE) #landad为使用seq函数把0-1范围均等分割为2000分,得到不同的lambda
    

    画出图形,得到四个自变量的系数在lambad变化的情况下的变化情况,当所有系数趋于平滑时,可以选取这时的lambad值:

    matplot(x=ridge.sol$lambda, y=t(ridge.sol$coef), xlab = expression(lamdba), ylab= "Cofficients", type = "l", lty = 1:20) # lty = 1:20可加可不加,设置线的形状.
    #作出lambdaGCV取最小值时的那条竖直线
    abline(v = ridge.sol$lambda[which.min(ridge.sol$GCV)])
    

    结果:
    在这里插入图片描述
    发现,上图在lambad在0.8左右,自变量的系数值趋于稳定。

    下面的语句绘出lambda同GCV之间关系的图形:

    plot(ridge.sol$lambda, ridge.sol$GCV, type = "l", xlab = expression(lambda), ylab = expression(beta))
    abline(v = ridge.sol$lambda[which.min(ridge.sol$GCV)]) #语句ridge.sol$coef[which.min(ridge.sol$GCV)]  为找到GCV最小时对应的系数
    

    结果:
    在这里插入图片描述
    在上面的代码中,还可以调整lambda = seq(0, 1, length = 2000)的范围及大小,如果lambad只是一个值,则得到的图像为空,只有在lambad变化的时候,才能得到岭迹曲线。

    (2)linearRidge()函数
    linearRidge()函数也可以用于求岭回归,如果lambad属性默认,则该函数可以自动选取岭回归参数,同时也可以自己通过其他的方式选择好,再进行设置;lm.Ridge函数不能自动选取岭回归参数,如果不对lambad进行设置,则默认为0. linearRidge函数实现岭回归的代码如下:

    library(ridge)
    mod <- linearRidge(N ~ SHDI + MIDU+LSI+CONTAG,lambda = 0.3,data = data5)
    summary(mod) #可以查看判断结果,lm.Ridge使用该函数只能得带自变量系数;
    

    结果如下:
    在这里插入图片描述
    从模型运行结果看,测岭回归参数值为0.3(即k值),是自己设置的lambad,且选择恰当的k值,进行岭回归会提高结果的显著性,因此在进行岭回归时,k值得选择还是挺重要的。


    针对linearRidge函数,得到岭迹曲线,因在lambad取默认值的时候,lambad是会变化的,因此,岭迹曲线比较容易得到,代码如下:

    plot(mod <- linearRidge(N ~ SHDI + MIDU+LSI+CONTAG, data = data5)) #没有设置lambad,默认
    

    结果:
    在这里插入图片描述
    同时,你也可以在得到岭迹曲线时,自己设置lambad的变化范围,如下:

    plot(mod <- linearRidge(N ~ SHDI + MIDU+LSI+CONTAG,lambda = seq(0,1,length=2000), data = data5))
    

    结果:
    在这里插入图片描述
    如果lambad等于一个固定的值,则图像中只有几个点,点数对应于自变量的数目:

    plot(mod <- linearRidge(N ~ SHDI + MIDU+LSI+CONTAG,lambda = 0.028, data = data5))
    

    结果:
    在这里插入图片描述

    总结:

    lm.Ridge和linearRidge是有区别的,再具体的差异就不是很清楚了,只能从上面几点上进行总结。且两者在lambad设置相同的情况下,得到的自变量系数结果也是不一样的。

    注:
    data为自己的数据集,getBestK函数代码,引用自《线性回归及其优化》。

    展开全文
  • R语言岭回归

    千次阅读 2019-11-16 12:44:39
    岭参数的一般选择原则 ...用R语言进行岭回归 这里使用MASS包中的longley数据集,进行岭回归分析(longley数据集中的变量具有显著的多重共线性)。从而分析使用岭回归进行多重共线性的解决。 ...
  • 为了克服时间序列的多重共线性,本人(刚入门)岭回归后,用summary()函数为什么看不到显著性检验及R^2等信息,用VIF()也不能得到VIF值。详情如下:>ridgefeizhu为了克服时间序列的多重共线性,本人(刚入门)岭回归...
  • R语言岭回归和LASSO回归

    千次阅读 2020-06-15 16:09:27
    岭回归和LASSO回归的原理就是在线性回归的基础上添加了2范数和1范数的惩罚项。这两个模型的关键点是找到一个合理的lambda系数,来平衡模型 的方差和偏差,从而得到比较符合实际的回归系数。 二、实验过程 1. 数据...
  • 岭回归 岭回归与最小二乘相似,不同之处在于系数是通过最小化略有不同的数量来估算的。像OLS一样,Ridge回归寻求降低RSS的系数估计,但是当系数接近于零时,它们也会产生收缩损失。这种损失的作用是将系数估计值...
  • 相关 视频:Lasso回归、岭回归等正则化回归数学原理及R语言实例 Lasso回归、岭回归等正则化回归数学原理及R语言实例 为什么岭回归比最小二乘更好? 优势在偏差方差中显而易见 。随着λ的增加,岭回归拟合的灵活性...
  • R语言回归

    千次阅读 2021-01-17 05:02:47
    1.回归的多面性回归类型用途简单线性个量化的解释变量来预测一个量化的响应变量(一个因变量、一个自变量)多项式一个量化的解释变量预测一个量化的响应变量,模型的关系是n阶多项式(一个预测变量,但同时包含变量的幂...
  • R语言glmnet拟合岭回归模型(ridge regression)实战:岭回归模型的模型系数(ridge regression coefficients)及可视化、岭回归模型分类评估计算(混淆矩阵、accuracy、偏差Deviance)
  • 原文链接:http://tecdat.cn/?p=3373​tecdat.cn这里向您展示如何在R中使用glmnet包进行岭回归(使用L2正则化的线性回归),并使用模拟来演示其相对于普通最小二乘回归的优势。岭回归当回归模型的参数被学习时,...
  • 在我们平时做回归的时候,大部分都是假定自变量和因变量是线性,但有时候自变量和因变量可能是非线性的,这时候我们就可能需要多项式回归了,多项式回归就是自变量和因变量是非线性所做的一个回归模型,其表达式:Y=...
  • 岭回归R语言

    万次阅读 多人点赞 2019-01-22 15:53:22
    # 做岭回归,对于标准化后的数据模型不包含截距项,其中lambda为岭参数k的所有取值 beta(ridge3.3) # 将所有不同岭参数所对应的回归系数的结果赋给beta beta # 绘制岭迹图 k$lambda #将所有岭参数赋给k plot(k,k,...
  • R语言如何和何时使用glmnet岭回归

    千次阅读 2020-12-23 23:02:25
    这里向您展示如何在R中使用glmnet包进行岭回归(使用L2正则化的线性回归),并使用模拟来演示其相对于普通最小二乘回归的优势。岭回归当回归模型的参数被学习时,岭回归使用L2正则化来加权/惩罚残差。在线性回归的背景...
  • 岭回归应用实例

    2013-11-21 11:56:12
    matlab 数据挖掘 课后作业 岭回归作用于多元线性回归模型 岭回归函数另附
  • UA MATH571A QE练习 R语言 多重共线性与岭回归 这是2017年1月的第4题。
  • R语言岭回归

    万次阅读 2017-09-05 13:42:27
    ridge regression可以用来处理下面两类问题:一是数据点少于变量个数;二是变量间存在共线性。 ...当变量间存在共线性的时候,最小二乘回归得到的系数不...在R语言中,MASS包中的函数lm.ridge()可以很方便的完成
  • R构建岭回归模型(Ridge Regression)实战 目录 R构建岭回归模型(Ridge Regression) 岭回归模型 选择最优λ值 交叉验证 岭回归(Ridge Regression)是一种执行L2正则化的线性回归模型。L2正则化增加了...
  • R语言岭回归xt7.6

    千次阅读 2020-12-05 20:53:27
    第7章 岭回归 7.7 一家大型商业银行有多家分行,近年来,该银行的贷款额平稳增长,但不良贷款额也有较大比例的提高。为弄清楚不良贷款形成的原因,希望利用银行业务的有关数据做定量分析,以便找出控制不良贷款的...
  • ...方法本文介绍了常用的惩罚logistic算法如LASSO、岭回归。 方法 我们之前已经看到,用于估计参数模型参数的经典估计技术是使用最大似然法。更具体地说, 这里的目标函数只关注拟合优度。但.
  • 为什么岭回归? 为什么岭回归? 在10倍交叉验证测试中,Ridge回归的准确率约为42%,标准偏差为22%。 但除此之外,我想保持解释性。我使用这个模型作为内在价格的度量,而不是价格预测,所以我想要很容易地理解每...
  • 拟合岭回归和LASSO回归,解释系数,并对其在λ范围内的变化做一个直观的可视化。 # 加载CBI数据 # 子集所需的变量(又称,列) CBI_sub <- CBI # 重命名变量列(节省大量的输入) names(CBI_sub)[1] <- "cbi...
  • 多元线性回归模型的最小二乘估计结果为如果存在较强的共线性,即 中各列向量之间存在较强的相关性,会导致的从而引起对角线上的 值很大并且不一样的样本也会导致参数估计值变化非常大。即参数估计量的方差也增大,对...
  • 有任何建议或疑问,请加 QQ: 1595218767 ,共同探讨学习如R/python代码编程作图等方面需要帮忙,欢迎来店咨询 之恒科技, 挥动热情的小爪爪期待你哦Lasso回归复杂度调整的程度由参数lambda来控制,lambda越大模型复杂度...
  • 这里向您展示如何在R中使用glmnet包进行岭回归(使用L2正则化的线性回归),并使用模拟来演示其相对于普通最小二乘回归的优势。 岭回归 当回归模型的参数被学习时,岭回归使用L2正则化来加权/惩罚残差。在线性回归...
  • 岭回归和lasso回归的r语言代码

    万次阅读 2015-10-30 11:09:44
    setwd("C:/Users/IBM/Desktop/研一课程/2.2回归分析/回归作业") #设定当前的工作目录 ...#使用lm.ridge来进行岭回归,其好处是可通过GCV自动选择调节系数,但运算结果与书上不同 library(MASS) #lm.ridge在MASS
  • 介绍 Glmnet是一个通过惩罚最大似然来拟合广义线性...它符合线性,逻辑和多项式,泊松和Cox回归模型。可以从拟合模型中做出各种预测。它也可以适合多响应线性回归。 glmnet算法采用循环坐标下降法,它连续优...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,454
精华内容 581
关键字:

r语言岭回归