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

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

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


方差分析 F 检验

anova(small,ablone_add)

根据Anova检验,我们可以拒绝无效假设。

现在让我们尝试对加性模型进行AIC和BIC的参数选择。

#在加性模型上运行AIC和BIC
step(abae_add, dtonbackward" trace0)

step(abalon_ad, direction="backward"

我们使用之前Anova F测试中的最佳模型(abalone_add)运行了AIC和BIC方法,AIC和BIC都选择了没有Length预测器的相同模型。

我们选择了BIC的模型(因为两个模型都是一样的),并将绘制拟合与残差和QQ正态图。

加性模型假设

assumptions(aln\_odad\_bic,"baln_meddbic")

这里我们看到,拟合图与残差图表明,模型违反了恒定方差,似乎有一种模式,即残差随着拟合值的增加而增加。

正态QQ图也有肥尾,表明误差可能不是正态分布。

表明我们可能需要寻找改进这个模型。尽管多重共线性对预测没有影响,但这看起来是一个极端的案例,有一个明显的模式违反了模型的假设。这可以通过几种技术来实现,例如变量选择和转换。让我们来看看变量选择方法,看看哪些变量可以用来创建另一个不违反恒定方差和正态性假设的模型。

穷举搜索

#穷举搜索 
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 模型很重要,因此我们将继续推进并检查模型假设。

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

相关文章
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
64 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
2月前
|
机器学习/深度学习 数据可视化 Windows
深度学习笔记(七):如何用Mxnet来将神经网络可视化
这篇文章介绍了如何使用Mxnet框架来实现神经网络的可视化,包括环境依赖的安装、具体的代码实现以及运行结果的展示。
54 0
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于BP神经网络的苦瓜生长含水量预测模型matlab仿真
本项目展示了基于BP神经网络的苦瓜生长含水量预测模型,通过温度(T)、风速(v)、模型厚度(h)等输入特征,预测苦瓜的含水量。采用Matlab2022a开发,核心代码附带中文注释及操作视频。模型利用BP神经网络的非线性映射能力,对试验数据进行训练,实现对未知样本含水量变化规律的预测,为干燥过程的理论研究提供支持。
|
17天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
50 2
|
17天前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
45 1
|
2月前
|
网络协议 前端开发 Java
网络协议与IO模型
网络协议与IO模型
网络协议与IO模型
|
2月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
82 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
28天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
74 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
2月前
|
开发者
什么是面向网络的IO模型?
【10月更文挑战第6天】什么是面向网络的IO模型?
22 3