【视频】广义相加模型(GAM)在电力负荷预测中的应用(二)

简介: 【视频】广义相加模型(GAM)在电力负荷预测中的应用

【视频】广义相加模型(GAM)在电力负荷预测中的应用(一)https://developer.aliyun.com/article/1485893


5光滑函数

样条曲线可以是光滑的或“摇摆的”,这可以通过改变节点数(k)或使用光滑惩罚γ来控制。如果我们增加结的数目,它将更“摇摆”。这可能会更接近数据,而且误差也会更小,但我们开始“过度拟合”关系,并拟合我们数据中的噪声。当我们结合光滑惩罚时,我们会惩罚模型中的复杂度,这有助于减少过度拟合。

6广义相加模型(GAM)

广义加性模型(GAM)(Hastie,1984)使用光滑函数(如样条曲线)作为回归模型中的预测因子。

这些模型是严格可加的,这意味着我们不能像正常回归那样使用交互项,但是我们可以通过重新参数化作为一个更光滑的模型来实现同样的效果。事实并非如此,但本质上,我们正转向一种模型,如:

摘自Wood _(2017)_的GAM的更正式示例 是:

其中:

  • μi≡E(Yi),Y的期望
  • Yi〜EF(μi,ϕi),Yi是一个响应变量,根据均值μi和形状参数ϕ的指数族分布。
  • Ai是任何严格参数化模型分量的模型矩阵的一行,其中θ为对应的参数向量。
  • fi是协变量xk的光滑函数,其中k是每个函数的基础。

如果您要建立回归模型,但怀疑光滑拟合会做得更好,那么GAM是一个不错的选择。它们适合于非线性或有噪声的数据。

7 gam拟合

那么,如何 为上述S型数据建立 GAM模型?

在这里,我将使用三次样条回归 :

gam(Y ~ s(X, bs="cr")

上面的设置意味着:

  • s()指定滑器。还有其他选项,但是s是一个很好的默认选项
  • bs=“cr”告诉它使用三次回归样条('basis')。
  • s函数计算出要使用的默认结数,但是您可以将其更改为k=10,例如10个结。

8模型输出:

查看模型摘要:

## 
## Family: gaussian 
## Link function: identity 
## Parametric coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  43.9659     0.8305   52.94   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##        edf Ref.df     F p-value    
## s(X) 6.087  7.143 296.3  <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.876   Deviance explained = 87.9%
## GCV = 211.94  Scale est. = 206.93    n = 300
  • 显示了我们截距的模型系数,所有非光滑参数将在此处显示
  • 每个光滑项的总体含义如下。
  • 这是基于“有效自由度”(edf)的,因为我们使用的样条函数可以扩展为许多参数,但我们也在惩罚它们并减少它们的影响。

9检查模型:

gam.check() 函数可用于查看残差图,但它也可以测试光滑器以查看是否有足够的结来描述数据。但是如果p值很低,则需要更多的结。

##
## Method: GCV   Optimizer: magic
## Smoothing parameter selection converged after 4 iterations.
## The RMS GCV score gradient at convergence was 1.107369e-05 .
## The Hessian was positive definite.
## Model rank =  10 / 10
##
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
##
##        k'  edf k-index p-value
## s(X) 9.00 6.09     1.1    0.97

10它比线性模型好吗?

让我们对比具有相同数据的普通线性回归模型:

anova(my\_lm, my\_gam)
## Analysis of Variance Table
## 
## Model 1: Y ~ X
## Model 2: Y ~ s(X, bs = "cr")
##   Res.Df   RSS     Df Sum of Sq      F    Pr(>F)    
## 1 298.00 88154                                      
## 2 292.91 60613 5.0873     27540 26.161 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

我们的方差分析函数在这里执行了f检验,我们的GAM模型明显优于线性回归。

11小结

所以,我们看了什么是回归模型,我们是如何解释一个变量y和另一个变量x的。其中一个基本假设是线性关系,但情况并非总是这样。当关系在x的范围内变化时,我们可以使用函数来改变这个形状。一个很好的方法是在“结”点处将光滑曲线链接在一起,我们称之为“样条曲线”

我们可以在常规回归中使用这些样条曲线,但是如果我们在GAM的背景中使用它们,我们同时估计了回归模型以及如何使我们的模型更光滑。

上面的示例显示了基于样条的GAM,其拟合度比线性回归模型好得多。

【视频】广义相加模型(GAM)在电力负荷预测中的应用(三)https://developer.aliyun.com/article/1485896

相关文章
|
计算机视觉 Python
OpenCV中图像的掩模、加法运算讲解与实战(附Python源码)
OpenCV中图像的掩模、加法运算讲解与实战(附Python源码)
1372 0
|
机器学习/深度学习 Linux vr&ar
ARIMA差分自回归移动平均模型
ARIMA是**差分自回归移动平均模型**的引文缩写,其中AR表示的是自回归模型,MA表示的是移动平均模型,I表示的是差分。一般写成ARIMA(p,d,q),p是自回归阶数,q是移动平均阶数,d表示差分的次数。
2969 0
ARIMA差分自回归移动平均模型
|
机器学习/深度学习 编解码 TensorFlow
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
814 14
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
|
人工智能 自然语言处理 安全
详解:poe ai官网是什么_poe ai官方网站_Poe AI官网入口
在全球范围内,人工智能的迅速发展引发了广泛关注,而Poe AI作为一款前沿的AI聊天平台,正处于这场技术变革的前沿
2631 10
【视频】广义相加模型(GAM)在电力负荷预测中的应用(一)
【视频】广义相加模型(GAM)在电力负荷预测中的应用
|
数据可视化 算法 C++
脑研究、脑网络分析、可视化的工具箱有哪些?
本文列举并简要介绍了用于脑研究、脑网络分析和可视化的多种工具箱,如Brain Connectivity Toolbox、bctpy、人类连接组项目等,为神经科学研究者提供了丰富的分析和可视化大脑网络的工具选择。
2145 2
脑研究、脑网络分析、可视化的工具箱有哪些?
|
人工智能 自然语言处理 安全
Poe AI国内能用吗?回答是:能用!记住这个使用方法就够了!
国内用户如何畅玩 Poe AI?告别网络限制,开启AI创作之旅!
6206 15
基于级联H桥的多电平逆变器PWM控制策略的simulink建模与仿真
级联H桥(CHB)多电平逆变器通过多个H桥单元级联实现高电压和高质量输出波形,广泛应用于风力发电、光伏并网等高压大功率领域。每个H桥包含两个开关管,级联后输出电压电平数为2N+1,采用空间矢量脉宽调制(SVPWM)控制策略,通过合理切换开关器件生成所需的正弦波形。系统仿真基于MATLAB2022a。
|
Linux 开发工具 图形学
Unity下实现跨平台的RTMP推流|轻量级RTSP服务|RTMP播放|RTSP播放低延迟解决方案
自2018年起,我们成功实现了Unity环境下的低延迟RTSP|RTMP播放,达到毫秒级延迟,获得业界广泛认可。现已覆盖Windows、Android、iOS与Linux平台的RTMP推送、轻量级RTSP服务及RTSP|RTMP播放。通过高效采集Unity窗口或摄像头数据,并利用原生SDK进行编码与推送,确保了数据传输的高速性。此外,播放器支持多路视频同时播放,适应不同分辨率,并保持长时间运行稳定。更多技术细节和技术博文,请参考相关链接。
1028 1
|
机器学习/深度学习 算法 数据可视化
Python用广义加性模型GAM进行时间序列分析
Python用广义加性模型GAM进行时间序列分析