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

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

数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(上):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
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
|
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
|
1月前
|
存储 安全 网络安全
云计算与网络安全:保护数据的新策略
【10月更文挑战第28天】随着云计算的广泛应用,网络安全问题日益突出。本文将深入探讨云计算环境下的网络安全挑战,并提出有效的安全策略和措施。我们将分析云服务中的安全风险,探讨如何通过技术和管理措施来提升信息安全水平,包括加密技术、访问控制、安全审计等。此外,文章还将分享一些实用的代码示例,帮助读者更好地理解和应用这些安全策略。
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
21天前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
76 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:从漏洞到加密,保护数据的关键步骤
【10月更文挑战第24天】在数字化时代,网络安全和信息安全是维护个人隐私和企业资产的前线防线。本文将探讨网络安全中的常见漏洞、加密技术的重要性以及如何通过提高安全意识来防范潜在的网络威胁。我们将深入理解网络安全的基本概念,学习如何识别和应对安全威胁,并掌握保护信息不被非法访问的策略。无论你是IT专业人士还是日常互联网用户,这篇文章都将为你提供宝贵的知识和技能,帮助你在网络世界中更安全地航行。
|
4天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
41 17
|
15天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
下一篇
DataWorks