数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(中)

简介: 数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化

数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(上):https://developer.aliyun.com/article/1491704


穷举搜索

#穷举搜索 
allabaone\_add<- sumr(ruetsings  Sex + Legth  Diamter + Hight + Whole\_eght + Shllweigh + Shucke\_weght + Viscea\_weigh , data=ablontra))

for(i in c(1:8)){
  vr\_nm\[i\]=sum(all\_abwh\[i,\])-1
}
plot(var\_num,all\_a)

(besr <- which.max(adjr2))

alabaoe_ad$hch\[bsj2,\]

#画出模型参数与AIC的关系图
n * log(a\_aln\_dd$rs / n) + 2 * (2:p)

plot(aloe\_mo\_ac ~ I(2:), ylab = "AIC"
   ")

现在我们看到了一些有趣的结果。之前我们看到t检验显示一些预测因子是不显著的,但是当我们进行穷举搜索时,它表明我们确实需要所有的预测因子来创建AIC值最低的模型。从图中可以看出,AIC值随着8个参数的模型大小而下降,并且是最小的。我们将再次使用数据集中的所有预测因子来创建模型,并寻找变量转换技术。

接下来,为了稳定恒定的变化,我们将进行一些因变量和预测变量的转换。


因变量转换


Box-Cox 变换


稳定方差的方法之一是使用对数转换因变量。为了得到正确的顺序,我们使用了boxcox方法,该方法建议使用$0的值。因为在0的值上,对数可能性最大,而且区间非常接近。因此,我们将使用log(Rings)形式的转换,用于我们的加性模型。

boxcox(abloe_ad lambda = seq(-0.1, 0.1, by = 0.1))

Additive 模型与对数因变量转换


summary(abaone\_dd\_log)

将因变量进行对数转换后,我们看到t检验是显著的,它也增加了先前加法模型的调整r平方值。我们还看到,在这个模型中,几乎所有的预测因子都是显著的。让我们检查一下假设。


模型假设


下面的拟合与残差图和Q-Q图显示,对因变量进行对数转换后,结果有了很大的改善。

assumptionsba

均方根分数

kable(log_rmse(abalo)

然而,我们没有看到RMSE分数有任何改善。恒定方差问题似乎得到了改善,QQ图也看起来不错。

下一步,我们将对预测器进行一些转换,并评估模型,看看这是否有助于进一步提高预测的准确性。


Predictor 转换


回归分析

为了使我们能够进行任何预测器的转换,首先让我们看看每个预测变量和因变量的关系。转换将取决于数据的形状以及预测因子和因变量之间的关系。

scatter(abale\_tra$Lngt,abaone\_train$Rngs,"Lenth""Rngs"),

我们可以看到环和预测指标长度、直径、高度的关系几乎是线性的。我们还可以看到,重量预测指标之间的关系并不是真正的线性关系,而是可以从多项式转换中受益。因此,让我们使用高阶多项式创建一个模型,即所有重量预测指标Whole\_weight、Viscera\_weight、Shucked\_weight和Shell\_weight。


多项式


在模型中使用二阶项后,模型假设相同。

asumptons(abloe\_dd\_oly2,"Poly2 Log Model")

均方根分数

kable(log_rmse(abaoly2,"Poly2 Log Moel)

均方根分数

在这里,我们进行了一些变量转换。首先,我们按照Boxcox方法的建议对因变量进行了对数转换,并按照对数图的建议对权重预测因子进行了多项式转换。在拟合模型后,我们看到rmse比以前的模型要低,与以前拟合的加性模型相比,它也有更好的恒定方差和Q-Q图。由于我们已经进行了程度为2的多项式转换,让我们尝试拟合程度为3的另一个模型并检查其意义。


方差分析 F 检验

anova(abaloe\_addpoy2,aalon\_add_oy3)

均方根分数

kable(log\_rmse(abaloe\_dd_pol4

方差分析 F 检验

anova

均方根分数

kable(log_rmse(abloneaddpoly5

方差分析 F 检验

anova

  • 我们再次看到测试对于较低的 rmse 是显着的。让我们尝试拟合度数为 6 的模型。


均方根分数


kable(log\_rmseaban\_dd_poly6

方差分析 F 检验

anova

现在在用多项式次数为 6 进行拟合后,我们看到即使 F 检验表明它很重要,但检验的 RMSE 上升了。这表明我们现在可能已经开始过度拟合数据,即我们的模型非常接近地拟合数据,这是我们不希望发生的。

在此之前,我们看到多项式次数为 5 和 4 的测试和训练 RMSE 之间存在非常细微的差异。测试 RMSE 几乎相同。因此,我们愿意牺牲相对于更简单模型的 RMSE 非常微小的改进(第三个小数点)。因此我们选择多项式次数为 4 的模型,即模型 abalone\_add\_poly4。

for(d in um_poly){
  abalone\_add\_polyestmodel(d)  
  rmse=g\_log\_mse(balone\_ad\_poly)
  train_rmse\[d\]rmse$tran
  test_re\[d\]=rse$st
}
plot(train_rmse

我们看到多项式次数为 5 和 4 的测试和训练 RMSE 之间存在非常细微的差异。测试 RMSE 几乎相同。因此,我们愿意牺牲相对于更简单模型的 RMSE 非常微小的改进。因此我们选择多项式次数为 4 的模型,即模型 abalone\_add\_poly4。

既然我们已经选择了模型,让运行 AIC 和 BIC 方法进一步选择合适的模型,看看我们是否可以做进一步的改进。

现在让我们计算和比较高阶项的 RMSE,并绘制训练和测试数据的均方根误差。


多加法模型上的 AIC 和 BIC:


  • 既然我们已经选择了模型,让我们运行 AICBIC 方法来进一步选择合适的模型。
step(abane\_ad\_poy4, directin="backwrd", trac=FALSE)


Compare AIC 与 BIC 模型参数

_aic$call\[2\]

add_bic$call\[2\]


Anove F 检验

anova(abalone_mode

  • 选择的模型 BIC 中没有预测器 Length 。Anova F 检验的 p 值很大,因此我们无法拒绝原假设。abalone_model_add_bic 模型很重要,因此我们将继续推进并检查模型假设。


模型假设(AIC 和 BIC):


model_assumption

  • 在这种情况下,恒定方差和正态性看起来都不错。


RMSE 分数 - AIC

kable(log\_rmse(abaone\_mde_down')

RMSE 分数 - BIC

kable(log\_rmse(abalone\_model\_add\_bic,paste("Additive Model - Degree 4 - BIC")), digits = 4,format = 'markdown')

在使用AIC 和 进行变量选择后 BIC,我们从中选择了模型 BIC 并检查了 t 统计量和假设。有趣的是, BIC 模型丢弃了很少的预测变量,但也具有与我们开始使用的原始模型(多项式次数为 4 的模型)相似的测试 RMSE。这表明我们可以删除一些变量并仍然保持较低的 RMSE。这将我们带到下一个修改和引入BIC 上述模型选择的变量之间的交互项 。

来自BIC 模型的模型假设 也看起来更好。

接下来,我们将介绍交互项,并将尝试使用BIC 方法建议的预测变量来拟合模型 。


交互模型


log(Rings) ~  Height + Diameter + poly(Whole_weight, 4) +
  poly(Viscera\_weight, 4) + poly(Shucked\_weight,4) + poly(Shell\_weight, 4) + Sex + Diameter:poly(Shucked\_weight, 4) + poly(Shucked_weight,  4):Sex


RMSE 分数


方差分析 F 检验

anova

在拟合交互模型并使用最佳可加模型执行 F 检验后,我们看到该检验表明交互模型是一个显着模型,具有改进的调整 r 平方值。RMSE 也变低了 因为它更好地解释了可变性,我们现在将选择交互模型并尝试在交互模型上运行 AIC 和 BIC。

同时,我们会比较交互模型的多个度数,以计算和比较高阶项的 RMSE,并绘制训练和测试数据的均方根误差。

for(d in num_poly){
  ablone\_int\_poly=test_itmodel(d)
 
  rmse=et\_lg\_rmseaaloneint_poly)
  trainrse_int\[d\]=rmse$train
  test\_mse\_it\[d\]=rme$tst
}
plot(tran\_rse\_n

  • 我们可以看到,随着多项式次数的增加,RMSE 越来越低。尽管对于此分析而言,RMSE 的这种改进非常微小,我们可以忽略这种对模型简单性的改进。考虑到这一点,我们可以看到多项式次数为 4 的模型性能更好,因此我们将继续使用该模型。


交互模型上的 AIC 和 BIC


step(aalone_int, diretin="backar", trac=FALSE)
step(aalone_nt, diection="bacward", =loce=ALE)

RMSE 分数 - BIC/AIC

kable(log\_rmse(abalone\_model\_int\_bic,paste("Interaction Model - Degree 4 - BIC")), digits = 4,format = 'markdown')

在我们的交互模型上运行 AIC 和 BIC 后,我们看到该模型选择了相同的模型。由于这是我们迄今为止看到的最好的模型之一,具有合理的复杂性,我们将把它视为我们比较的候选模型之一,作为本分析的最佳拟合模型。

谈到候选模型,在详尽的搜索过程中,我们已经看到,当我们使用所有预测变量时,模型附带了最低的 AIC。我们可以尝试构建一个模型,其中包含所有具有交互作用和多项式次数的预测变量,并与我们选择的第一个候选模型进行比较,看看它的表现如何。因此,让我们拟合一个包含所有预测变量的模型。

在最初的数据分析中,我们发现Sex 因子水平为 female 和 的分类变量的分布 male 极其相似。因此,我们决定将这两个因子水平合并为一个,并且总因子水平为 2 infant 和 non-infant。我们创建了新变量 Infant。这里 non-infant 代表 female 和 male 两者。我们也通过这种方法进行了分析(可以在本报告的附录部分找到)。

让我们看看 Infant 模型分析,看看这个模型如何与我们上面选择的模型相抗衡。


婴儿模型分析


我们讨论过针对此分析采用不同的方法。我们引入了一个新的分类预测变量名称 Infant。我们使用现有的Sex 具有 3 个因子水平的分类预测变量,并创建了一个具有 2 个因子水平的新分类预测变量 。我们这样做是因为我们从原始分类预测变量female 和 中 确定了 2 个因子水平上的相似分布 male。新的因素水平现在是 I (婴儿 = 雌性和雄性组合)和 NI (非婴儿)。

这个新分类的分析与上面的分析完全一样,所以我们将用最少的解释和细节快速进行这个分析。

summary(abae\_d\_nf)

均方根分数

rmse  <- funcin(atual predicted) {
  sqrt(mean((actual - predicted ^ 2))
}

加性模型假设

model_assumption


Box-Cox 变换

boxcox(abon_adinf,lmda  seq(-0.1, 0.1, by = 0.1))

具有对数因变量转换的附加婴儿模型

summary(abaln\_ad\_log)


数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(下):https://developer.aliyun.com/article/1491706

相关文章
|
2天前
|
监控 安全 BI
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
|
29天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
1月前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
83 2
|
1月前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
106 1
|
21天前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
76 0
|
4天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
41 17
|
14天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
15天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
39 10
|
17天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
44 10
下一篇
DataWorks