精华内容
下载资源
问答
  • 局部多项式回归拟合是对两维散点图进行平滑的常用方法,它结合了传统线性回归的简洁性和非线性回归的灵活性。当要估计某个响应变量值时,先从其预测变量附近取一个数据子集,然后对该子集进行线性回归或二次回归,...
    局部多项式回归拟合是对两维散点图进行平滑的常用方法,它结合了传统线性回归的简洁性和非线性回归的灵活性。当要估计某个响应变量值时,先从其预测变量附近取一个数据子集,然后对该子集进行线性回归或二次回归,回归时采用加权最小二乘法,即越靠近估计点的值其权重越大,最后利用得到的局部回归模型来估计响应变量的值。用这种方法进行逐点运算得到整条拟合曲线。 

    在R语言中进行局部多项式回归拟合是利用loess函数,我们以cars数据集做为例子来看下使用方法。该数据中speed表示行驶速度,dist表示刹车距离。用loess来建立模型时重要的两个参数是span和degree,span表示数据子集的获取范围,取值越大则数据子集越多,曲线越为平滑。degree表示局部回归中的阶数,1表示线性回归,2表示二次回归,也可以取0,此时曲线退化为简单移动平均线。这里我们设span取0.4和0.8,从下图可见取值0.8的蓝色线条较为平滑。 

    ------------------------
    plot(cars,pch=19)
    model1=loess(dist~speed,data=cars,span=0.4)
    lines(cars$speed,model1$fit,col='red',lty=2,lwd=2)
    model2=loess(dist~speed,data=cars,span=0.8)
    lines(cars$speed,model2$fit,col='blue',lty=2,lwd=2)
    ------------------------

    当模型建立后,也可以类似线性回归那样进行预测和残差分析 
    ------------------------
    x=5:25
    predict(model2,data.frame(speed=x))
    plot(model2$resid~model2$fit)
    ------------------------
    R语言中另一个类似的函数是lowess,它在绘图上比较方便,但在功能上不如loess强大和灵活。 

    ------------------------ 
    plot(cars,pch=19) 
    lines(lowess(cars),lty=2,lwd=2) 
    ------------------------ 

    LOESS的优势是并不需要确定具体的函数形式,而是让数据自己来说话,其缺点在于需要大量的数据和运算能力。LOESS作为一种平滑技术,其目的是为了探寻响应变量和预测变量之间的关系,所以LOESS更被看作一种数据探索方法,而不是作为最终的结论。
    展开全文
  • 总览 在这里,我们放宽了流行的线性技术的线性假设。有时线性假设只是一个很差的近似值。有许多方法可以解决此问题,其中一些方法可以通过使用正则化... 多项式回归 这是对数据提供非线性拟合的简单方法。 阶...

    原文链接:http://tecdat.cn/?p=9706

    总览

    在这里,我们放宽了流行的线性方法的假设。有时线性假设只是一个很差的近似值。有许多方法可以解决此问题,其中一些方法可以通过使用正则化方法降低模型复杂性来  解决  。但是,这些技术仍然使用线性模型,到目前为止只能进行改进。本文本专注于线性模型的扩展

    • 多项式回归    这是对数据提供非线性拟合的简单方法。

    • 阶跃函数  将变量的范围划分为  K个  不同的区域,以生成定性变量。这具有拟合分段常数函数的效果。

    • 回归样条  比多项式和阶跃函数更灵活,并且实际上是两者的扩展。 

    • 局部样条曲线  类似于回归样条曲线,但是允许区域重叠,并且可以平滑地重叠。

    • 平滑样条曲线  也类似于回归样条曲线,但是它们最小化平滑度惩罚的残差平方和准则 。

    • 广义加性模型  允许扩展上述方法以处理多个预测变量。

    多项式回归

    这是扩展线性模型的最传统方法。随着我们增加 多项式的,多项式回归使我们能够生成非线性的曲线,同时仍使用最小二乘法估计系数。

    逐步回归

    它经常用于生物统计学和流行病学中。

    回归样条

    回归样条是 扩展多项式和逐步回归技术的许多基本函数之一  。事实上。多项式和逐步回归函数只是  函数的特定情况  。

    这是分段三次拟合的示例(左上图)。

    为了解决此问题,更好的解决方案是采用约束,使拟合曲线必须连续。

    选择结的位置和数量

    一种选择是在我们认为变化最快的地方放置更多的结,而在更稳定的地方放置更少的结。但是在实践中,通常以统一的方式放置结。

    要清楚的是,在这种情况下,实际上有5个结,包括边界结。

    那么我们应该使用多少个结?一个简单的选择是尝试许多个结,然后看哪个会产生最好的曲线。但是,更客观的方法是使用交叉验证。

    与多项式回归相比,样条曲线可以显示出更稳定的效果。

    平滑样条线

    我们讨论了回归样条曲线,该样条曲线是通过指定一组结,生成一系列基函数,然后使用最小二乘法估计样条系数而创建的。平滑样条曲线是创建样条曲线的另一种方法。让我们回想一下,我们的目标是找到一些非常适合观察到的数据的函数,即最大限度地减少RSS。但是,如果对我们的函数没有任何限制,我们可以通过选择精确内插所有数据的函数来使RSS设为零。

    选择平滑参数Lambda

    同样,我们求助于交叉验证。事实证明,我们实际上可以非常有效地计算LOOCV,以平滑样条曲线,回归样条曲线和其他任意基函数。

    平滑样条线通常比回归样条线更可取,因为它们通常会创建更简单的模型并具有可比的拟合度。

    局部回归

    局部回归涉及仅使用附近的训练观测值来计算目标点x 0 处的拟合度  。

    可以通过各种方式执行局部回归,尤其是在涉及拟合p  线性回归模型的多变量方案中尤为明显  ,因此某些变量可以全局拟合,而某些局部拟合。

    广义加性模型

     

    GAM模型提供了一个通用框架,可通过允许每个变量的非线性函数扩展线性模型,同时保持可加性。

    具有平滑样条的GAM并不是那么简单,因为不能使用最小二乘。取而代之的 是使用一种称为反向拟合的方法  。

    GAM的优缺点

    优点

    • GAM允许将非线性函数拟合到每个预测变量,以便我们可以自动对标准线性回归会遗漏的非线性关系进行建模。我们不需要对每个变量分别尝试许多不同的转换。

    • 非线性拟合可以潜在地对因变量Y做出更准确的预测  。

    • 因为模型是可加的,所以我们仍然可以检查每个预测变量对Y的影响,   同时保持其他变量不变。

    缺点

    • 主要局限性在于该模型仅限于累加模型,因此可能会错过重要的交互作用。

     

    范例

    多项式回归和阶跃函数

    library(ISLR)
    attach(Wage)

    我们可以轻松地使用来拟合多项式函数,然后指定多项式的变量和次数。该函数返回正交多项式的矩阵,这意味着每列是变量的变量的线性组合  age,  age^2,  age^3,和  age^4。如果要直接获取变量,可以指定  raw=TRUE,但这不会影响预测结果。它可用于检查所需的系数估计。

    fit = lm(wage~poly(age, 4), data=Wage)
    kable(coef(summary(fit)))

     

    现在让我们创建一个ages 我们要预测的向量。最后,我们将要绘制数据和拟合的4次多项式。

    ageLims <- range(age)
    age.grid <- seq(from=ageLims[1], to=ageLims[2])
    
    pred <- predict(fit, newdata = list(age = age.grid),
                    se=TRUE)
     
    plot(age,wage,xlim=ageLims ,cex=.5,col="darkgrey")
     lines(age.grid,pred$fit,lwd=2,col="blue")
    matlines(age.grid,se.bands,lwd=2,col="blue",lty=3)

    在这个简单的示例中,我们可以使用ANOVA检验 。

    
    ## Analysis of Variance Table
    ## 
    ## Model 1: wage ~ age
    ## Model 2: wage ~ poly(age, 2)
    ## Model 3: wage ~ poly(age, 3)
    ## Model 4: wage ~ poly(age, 4)
    ## Model 5: wage ~ poly(age, 5)
    ##   Res.Df     RSS Df Sum of Sq      F Pr(>F)    
    ## 1   2998 5022216                               
    ## 2   2997 4793430  1    228786 143.59 <2e-16 ***
    ## 3   2996 4777674  1     15756   9.89 0.0017 ** 
    ## 4   2995 4771604  1      6070   3.81 0.0510 .  
    ## 5   2994 4770322  1      1283   0.80 0.3697    
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    

    我们看到,_M_1 与二次模型  相比,p值  _M_2 实质上为零,这表明线性拟合是不够的。 因此,我们可以得出结论,二次方或三次模型可能更适合于此数据,并且偏向于简单模型。

    我们也可以使用交叉验证来选择多项式次数。

     

    在这里,我们实际上看到的最小交叉验证误差是针对4次多项式的,但是选择3次或2次模型并不会造成太大损失。接下来,我们考虑预测个人是否每年收入超过25万。

    但是,概率的置信区间是不合理的,因为我们最终得到了一些负概率。为了生成置信区间,更有意义的是转换对    预测。

    绘制:

    plot(age,I(wage>250),xlim=ageLims ,type="n",ylim=c(0,.2))
    lines(age.grid,pfit,lwd=2, col="blue")
    matlines(age.grid,se.bands,lwd=1,col="blue",lty=3)

    逐步回归函数

    在这里,我们需要拆分数据。 

    table(cut(age, 4))
    
    ## 
    ## (17.9,33.5]   (33.5,49]   (49,64.5] (64.5,80.1] 
    ##         750        1399         779          72
    fit <- lm(wage~cut(age, 4), data=Wage)
    coef(summary(fit))

     

    ##                        Estimate Std. Error t value  Pr(>|t|)
    ## (Intercept)              94.158      1.476  63.790 0.000e+00
    ## cut(age, 4)(33.5,49]     24.053      1.829  13.148 1.982e-38
    ## cut(age, 4)(49,64.5]     23.665      2.068  11.443 1.041e-29
    ## cut(age, 4)(64.5,80.1]    7.641      4.987   1.532 1.256e-01

     

    splines 样条函数

    在这里,我们将使用三次样条。

    由于我们使用的是三个结的三次样条,因此生成的样条具有六个基函数。 

    
    ## [1] 3000    6
    dim(bs(age, df=6))
    
    ## [1] 3000    6
    ##   25%   50%   75% 
    ## 33.75 42.00 51.00
    

    拟合样条曲线。

     

    我们也可以拟合平滑样条。在这里,我们拟合具有16个自由度的样条曲线,然后通过交叉验证选择样条曲线,从而产生6.8个自由度。

    
    fit2$df
    
    ## [1] 6.795
    lines(fit, col='red', lwd=2)
    lines(fit2, col='blue', lwd=1)
    legend('topright', legend=c('16 DF', '6.8 DF'),
           col=c('red','blue'), lty=1, lwd=2, cex=0.8)
    
    

    局部回归

    执行局部回归。 

    GAMs

    现在,我们使用GAM通过年份,年龄和受教育程度的样条来预测工资。由于这只是具有多个基本函数的线性回归模型,因此我们仅使用  lm() 函数。

    为了拟合更复杂的样条曲线 ,我们需要使用平滑样条曲线。

    绘制这两个模型

     

    year 是线性的。我们可以创建一个新模型,然后使用ANOVA检验 。

    
    ## Analysis of Variance Table
    ## 
    ## Model 1: wage ~ ns(age, 5) + education
    ## Model 2: wage ~ year + s(age, 5) + education
    ## Model 3: wage ~ s(year, 4) + s(age, 5) + education
    ##   Res.Df     RSS Df Sum of Sq    F  Pr(>F)    
    ## 1   2990 3712881                              
    ## 2   2989 3693842  1     19040 15.4 8.9e-05 ***
    ## 3   2986 3689770  3      4071  1.1    0.35    
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    

    似乎添加线性year 成分要比不添加线性  成分的GAM好得多。 

    
    ## 
    ## Deviance Residuals:
    ##     Min      1Q  Median      3Q     Max 
    ## -119.43  -19.70   -3.33   14.17  213.48 
    ## 
    ## (Dispersion Parameter for gaussian family taken to be 1236)
    ## 
    ##     Null Deviance: 5222086 on 2999 degrees of freedom
    ## Residual Deviance: 3689770 on 2986 degrees of freedom
    ## AIC: 29888 
    ## 
    ## Number of Local Scoring Iterations: 2 
    ## 
    ## Anova for Parametric Effects
    ##              Df  Sum Sq Mean Sq F value  Pr(>F)    
    ## s(year, 4)    1   27162   27162      22 2.9e-06 ***
    ## s(age, 5)     1  195338  195338     158 < 2e-16 ***
    ## education     4 1069726  267432     216 < 2e-16 ***
    ## Residuals  2986 3689770    1236                    
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    ## 
    ## Anova for Nonparametric Effects
    ##             Npar Df Npar F  Pr(F)    
    ## (Intercept)                          
    ## s(year, 4)        3    1.1   0.35    
    ## s(age, 5)         4   32.4 <2e-16 ***
    ## education                            
    ## ---
    ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    

    在具有非线性关系的模型中,   我们可以再次确认year 对模型没有贡献。

    接下来,我们 将局部回归拟合GAM  。

    在调用GAM之前,我们还可以使用局部回归来创建交互项。

    我们可以 绘制结果曲面图  。


    参考文献 

    1.R语言多元Logistic逻辑回归 应用案例

    2.面板平滑转移回归(PSTR)分析案例实现

    3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

    4.R语言泊松Poisson回归模型分析案例

    5.R语言回归中的Hosmer-Lemeshow拟合优度检验

    6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

    7.在R语言中实现Logistic逻辑回归

    8.python用线性回归预测股票价格

    9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

     

    展开全文
  • 在解说局部加权线性回归之前,先解说两个概念:欠拟合、过拟合。由此引出局部加权线性回归算法。 欠拟合、过拟合 例如以下图中三个拟合模型。第一个是一个线性模型。对训练数据拟合不够好,损失函数取值...

    本文主要解说局部加权(线性)回归。在解说局部加权线性回归之前,先解说两个概念:欠拟合、过拟合。由此引出局部加权线性回归算法。

     

    欠拟合、过拟合

        例如以下图中三个拟合模型。第一个是一个线性模型。对训练数据拟合不够好,损失函数取值较大。如图中第二个模型,假设我们在线性模型上加一个新特征项,拟合结果就会好一些。

    图中第三个是一个包括5阶多项式的模型,对训练数据差点儿完美拟合。

        模型一没有非常好的拟合训练数据,在训练数据以及在測试数据上都存在较大误差。这样的情况称之为欠拟合(underfitting)

        模型三对训练数据拟合的非常不错,可是在測试数据上的精确度并不理想。这样的对训练数据拟合较好。而在測试数据上精确度较低的情况称之为过拟合(overfitting)

     

    局部加权线性回归(Locally weighted linear regression,LWR)

        从上面欠拟合和过拟合的样例中我们能够体会到,在回归预測模型中。预測模型的精确度特别依赖于特征的选择。特征选择不合适。往往会导致预測结果的天差地别。局部加权线性回归非常好的攻克了这个问题,它的预測性能不太依赖于选择的特征,又能非常好的避免欠拟合和过拟合的风险。

        在理解局部加权线性回归前,先回顾一下线性回归。

    线性回归的损失函数把训练数据中的样本看做是平等的,并没有权重的概念。

    线性回归的具体请參考《线性回归、梯度下降》,它的主要思想为:

        

        而局部加权线性回归,在构造损失函数时增加了权重w,对距离预測点较近的训练样本给以较高的权重,距离预測点较远的训练样本给以较小的权重。权重的取值范围是(0,1)。

        局部加权线性回归的主要思想是:

        当中如果权重符合公式

        公式中权重大小取决于预測点x与训练样本的距离。假设|- x|较小,那么取值接近于1,反之接近0。參数τ称为bandwidth。用于控制权重的变化幅度。

        局部加权线性回归长处是不太依赖特征选择。并且仅仅须要用线性模型就训练出不错的拟合模型。

        可是因为局部加权线性回归是一个非參数学习算法,损失数随着预測值的不同而不同,这样θ无法事先确定。每次预測时都须要扫描全部数据又一次计算θ,所以计算量比較大。

    转载于:https://www.cnblogs.com/mfmdaoyou/p/7069547.html

    展开全文
  • 局部加权回归的方法如下,首先看线性或多项式回归的损失函数 很明显,局部加权回归在每一次预测新样本时都会重新确定参数,以达到更好的预测效果。当数据规模比较大的时候计算量很大,学习效率很低。并且局部加权...

    有时候样本的波动很明显,可以采用局部加权回归,如下图,红色的线为局部加权回归的结果,

    蓝色的线为普通的多项式回归的结果。蓝色的线有一些欠拟合了。

    多项式回归——多一些 高次项的回归

    局部加权回归的方法如下,首先看线性或多项式回归的损失函数 

    很明显,局部加权回归在每一次预测新样本时都会重新确定参数,以达到更好的预测效果。当数据规模比较大的时候计算量很大,学习效率很低。并且局部加权回归也不是一定就是避免underfitting,因为那些波动的样本可能是异常值或者数据噪声。

     

    多项式曲线拟合 - 知乎
    https://zhuanlan.zhihu.com/p/53056358

    展开全文
  • 拟合、过拟合 ...图中第三个是一个包含5阶多项式的模型,对训练数据几乎完美拟合。 模型一没有很好的拟合训练数据,在训练数据以及在测试数据上都存在较大误差,这种情况称之为欠拟合(underfitting)。...
  • LOESS资料总结

    2012-12-26 14:02:28
    在R语言中进行局部多项式回归拟合(LOESS) http://www.dataguru.cn/article-1525-1.html 局部多项式回归拟合是对两维散点图进行平滑的常用方法,它结合了传统线性回归的简洁性和非线性回归的灵活性。当要...
  • 局部加权回归

    2016-06-06 18:15:01
    多项式拟合拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的 过拟合(overfitting),不符合数据真实的模型。   今天来讲一种非参数学习方法,叫做局部加权回归(LWR)。为什么...
  • 多项式拟合拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的过拟合(overfitting),不符合数据真实的模型。 今天来讲一种非参数学习方法,叫做局部加权回归(LWR)。为什么局部加权回归...
  • 前两篇博客介绍的是线性回归,线性回归的一个问题是有可能出现欠拟合现象,解决欠拟合其中的一个方法是本文的多项式扩展,还有一个是后面的博客会介绍的局部加权线性回归(Locally Weighted Linear Regression,LWLR...
  • 时间序列分解-STL分解法

    千次阅读 2018-10-16 17:09:28
     STL(’Seasonal and Trend decomposition using ... 其中Loess(locally weighted scatterplot smoothing,LOWESS or LOESS)为局部多项式回归拟合,是对两维散点图 进行平滑的常用方法,它结合了传统线性回归...
  • 时间序列分解-STL分解法Ljt作为一个初学者,水平有限,欢迎交流指正。STL(’Seasonal and ...其中Loess(locally weighted scatterplot smoothing,LOWESS or LOESS)为局部多项式回归拟合,是对两维散点图进行平滑的...
  • LOWESS 通过取一定比例的局部数据,在这部分子集中拟合多项式回归曲线,这样我们便可以观察到数据在局部展现出来的局部规律和局部趋势(局部均值μ回归)。 同时,因为 LOWESS 的统计窗口缩小为局部窗口,因此...
  • LOESS(局部加权回归

    万次阅读 2019-07-09 22:10:52
    就是在分析之前有没有对预测做一些限制,比如认为特征和响应变量之间具有线性关系,可以通过线性方程拟合,我们只需要求出方程的系数就是参数方法,比如之前提到的线性回归、多项式回归等等,而如果直接从数据出发...
  • 线性回归的过拟合与欠拟合

    千次阅读 2018-06-01 10:48:07
    借用Andrew Ng的PPT,下图分别对应特征多项式阶数d=1、2、4的情况,由此可知,特征多项式的阶数不是越高越好。... 4、局部加权回归 二、过拟合的解决方法 1、分析数据,重新做数据清洗、特征工程...
  • 机器学习算法总结

    2016-03-19 21:06:28
    回归分析 回归是这样一种建模方式,它先确定一个衡量模型预测误差的量,然后通过这个量来反复优化变量之间的关系。回归方法是统计学的主要应用,被归为统计机器学习。...· 局部多项式回归拟合(LOESS)基于实例的学
  • 局部加权线性回归

    2016-11-26 16:06:16
    多项式拟合拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的 过拟合(overfitting),不符合数据真实的模型。   今天来讲一种非参数学习方法,叫做局部加权回归(LWR)。为什么...
  • 多项式拟合拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的 过拟合(overfitting),不符合数据真实的模型。如下图的右图。 下面来讲一种非参数学习方法——局部加权回归(LWR)。为...
  • 前面博客有讲到,样本如果不是线性的可以通过多项式扩展,映射到多维空间来拟合。如此之外,还可以做一个局部加权线性回归(Locally Weighted Linear Regression,LWLR)。 ...
  • 一 概述通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under ...局部加权回归(LWR)是非参数学习方法。 首先参数学习方法是这样一种方法:在训练完成所有数据后得到一系列训练参数,然后根据训
  • 局部加权线性回归(LWLR)

    千次阅读 2017-03-17 11:00:06
    局部加权线性回归(LWLR)对于线性回归算法,容易出现欠拟合,而多项式回归又容易出现过拟合。因此出现了局部加权回归模型y(i)=θT⋅x(i) y^{(i)}=\theta^T \cdot x^{(i)} 和线性回归的模型相同,但是对于每一个预测...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

局部多项式回归拟合