【视频】线性回归中的贝叶斯推断与R语言预测工人工资数据|数据分享-3

简介: 【视频】线性回归中的贝叶斯推断与R语言预测工人工资数据|数据分享

【视频】线性回归中的贝叶斯推断与R语言预测工人工资数据|数据分享-2

https://developer.aliyun.com/article/1489384


变量变换

两个图都显示残差是右偏的。因此,IQ(因为它目前存在于数据集中)不应用作贝叶斯预测模型。但是,对 仅具有正值的偏斜_因_变量使用(自然)对数变换 通常可以解决问题。下面,该模型使用转换后的工资变量进行了重新拟合。

# 用IQ的自然对数拟合th模型
lm(lage ~ iq, data = wae)

image.png

# 残差sctterplot和转换后数据的柱状图
plt(data = m\_lag\_iq, es(x = .fited, y = .reid)) 
  geiter() +

image.png

ggpot(dta = m_lwgeiq, as(x = .resd)) +
  gostgam(binwth = .1) +

image.png

残差确实大致呈正态分布。然而,由此产生的 IQ 系数非常小(只有 0.0088),这是可以预料的,因为 IQ 分数提高 1 分几乎不会对工资产生太大影响。需要进一步细化。数据集包含更多信息。

多元线性回归和 BIC

我们可以首先在回归模型中包含所有潜在的解释变量,来粗略地尝试解释尽可能多的工资变化。

# 对数据集中的所有变量运行一个线性模型,使用'.'约定。
full = lm(lwge ~ . - wage, dta = wge)

image.png

完整线性模型的上述总结表明,自变量的许多系数在统计上并不显着(请参阅第 4 个数字列中的 p 值)。选择模型变量的一种方法是使用贝叶斯信息准则 (BIC)。BIC 是模型拟合的数值评估,它也会按样本大小的比例惩罚更多的参数。这是完整线性模型的 BIC:

BIC(full)

image.png

BIC 值越小表示拟合越好。因此,BIC 可以针对各种缩减模型进行计算,然后与完整模型 BIC 进行比较,以找到适合工资预测工作的最佳模型。当然,R 有一个功能可以系统地执行这些 BIC 调整。

# 用step计算模型
pIC(lwge ~ . - wge, dta = na.oi(wge))lg(lgth(na.mit(wge))))

image.png

# 显示逐步模型的BIC
BIC(se_mol)

image.png

调用 step找到产生最低 BIC 的变量组合,并提供它们的系数。很不错。

贝叶斯模型平均(BMA)

即使BIC处于最低值,我们能有多大把握确定所得到的模型是真正的 "最佳拟合"?答案很可能取决于基础数据的规模和稳定性。在这些不确定的时候,贝叶斯模型平均化(BMA)是有帮助的。BMA对多个模型进行平均化,获得系数的后验值和新数据的预测值。下面,BMA被应用于工资数据(排除NA值后)。

# 不包括NA
a_ona = na.omt(wae)
# 运行BMA,指定BIC作为判断结果模型的标准
BMA(wge ~ . -wge, daa= ae\_o\_a,
                   pror = "BIC", 
                   moepor = ufom())
# 显示结果
summary

image.png

结果表显示了五个最有可能的模型,以及每个系数被包含在真实模型中的概率。我们看到,出生顺序和是否有兄弟姐妹是最不可能被包含的变量,而教育和智商变量则被锁定。BMA模型的排名也可以用图像图来显示,它清楚地显示哪些变量在所有模型中,哪些变量被排除在所有模型之外,以及那些介于两者之间的变量。

ge(b_lge, tp.oels)

image.png

我们还可以提供模型系数的95%置信区间。下面的结果支持了关于包括或排除系数的决定。例如,在区间包含零,有大量证据支持排除该变量。

confint(ceflae)

image.png

进行预测

构建模型后,pediction 只是插入数据的问题:

# 用一个虚构的工人的统计资料来预测数据的例子
# 进行预测
redict = pedct(e_odl, newdt = wrkr,eitr = "BMA")
# 将结果转换为元
exp(wk_pedct)

image.png

预计这名化妆工作人员的周薪为 745 元。这到底有多准确?你得问她,但我们对我们的变量选择很有信心,并对现有的数据尽了最大努力。应用的贝叶斯技术使我们对结果有信心。

相关文章
|
数据挖掘 数据处理
R语言统计基本概念:探索描述性统计与推断统计的奥秘
【8月更文挑战第30天】描述性统计与推断统计是R语言统计分析中的两大基石。描述性统计帮助我们直观地了解数据的分布特征和基本属性,而推断统计则允许我们基于样本数据对总体进行推断和预测。在数据分析的实际应用中,两者相辅相成,共同构成了数据分析的完整框架。掌握这两大概念及其在R语言中的实现方法,对于提升数据分析能力和决策效率具有重要意义。
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
1048 1
|
数据挖掘
R语言主成分、因子分析、聚类对我国城镇私营单位就业人员平均工资数据研究与分析
R语言主成分、因子分析、聚类对我国城镇私营单位就业人员平均工资数据研究与分析
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
数据可视化 定位技术
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
|
存储 机器学习/深度学习 算法
R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例
R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例
|
机器学习/深度学习 人工智能 数据可视化
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
|
数据采集 机器学习/深度学习 数据可视化
R语言贝叶斯模型预测电影评分数据可视化分析
R语言贝叶斯模型预测电影评分数据可视化分析
|
机器学习/深度学习 数据可视化
R语言非线性回归和广义线性模型:泊松、伽马、逻辑回归、Beta回归分析机动车事故、小鼠感染、蛤蜊数据、补剂钠摄入数据|数据分享(下)
R语言非线性回归和广义线性模型:泊松、伽马、逻辑回归、Beta回归分析机动车事故、小鼠感染、蛤蜊数据、补剂钠摄入数据|数据分享
|
机器学习/深度学习
R语言非线性回归和广义线性模型:泊松、伽马、逻辑回归、Beta回归分析机动车事故、小鼠感染、蛤蜊数据、补剂钠摄入数据|数据分享(上)
R语言非线性回归和广义线性模型:泊松、伽马、逻辑回归、Beta回归分析机动车事故、小鼠感染、蛤蜊数据、补剂钠摄入数据|数据分享