R语言贝叶斯模型预测电影评分数据可视化分析

发布时间 2023-11-30 16:53:10作者: 拓端tecdat

全文链接:https://tecdat.cn/?p=34421

原文出处:拓端数据部落公众号

本文使用R语言帮助客户进行了贝叶斯模型预测电影评分,并对数据进行了可视化和分析。文章创建了五个新的特征变量,包括电影类型、导演获奖情况、电影票房、评论数量和影评人数量等,并分析了这些变量对电影评分的影响。通过模型预测和系数解释,发现imdb_rating具有最高的后验概率,且截距和运行时对观众评分有积极影响,而评论数量和影评人数量对观众评分的影响较小。文章还提供了对数据的探索性分析,并得出了某些见解,如舞蹈电影更受欢迎,较长的电影通常会让观众感到无聊等。

读取数据

 
 
load("e1fevies.Rdata")

数据

数据概述

数据集电影包括2016年之前发布的651个随机取样的电影,包括蕃茄和IMDb的信息。

范围

数据集为回顾性观察性研究的结果,该研究使用随机抽样方法从电影获得代表性样本。 由于随机抽样方法被应用于数据收集,结果应该可以推广到目标人群。

数据预处理

创建五个新的特征变量。

 
 
mr(ifelse(title_type=='Feature Film', 'yes', 'no')))  
mor(ifelse(genre=='Drama', 'yes', 'no')))  
movies <- mutate(movies,ating=='R

数据探索分析

因为响应变总是audience_score,所以我们希望y轴看到所有变量的比较。 因此,我们可以使用tidyr包的collect函数将所有5个新创建的变量放到单个列中。

 
 
movies_ed <- gath7)

然后我们创建一个箱线图。

 
 
ggplot(moviegag)) + geom_bxplot()

下载 (1).png

进行数据摘要统计。

 
 

  summarise(mean=mean(audience_scoence_score))

image.png

很明显,从剧情和摘要来看,戏剧电影往往具有比其他类型更高的分数。 feature films 电影比 non-feature电影电影的得分低得多。 然而,其他变量似乎对分数没有任何显著影响。

贝叶斯模型

现在进行贝叶斯模型的建立。

 
 

model <- bam(datdienc_score ~ feature_film + drama + runtime +
......
               + best_dir_win + top200_box, prior = 'BIC', mo
               
               

让我们为每个变量输出边际后验概率。

image.png

我们可以看到imdb_rating具有1.00的后验概率,这在电影工业的背景下听起来很合理。 同时critics_score和runtime也有很高的概率。

然后让我们看看模型的总结。

image.png

我们看到,最好的模型包括截距,运行时的imdb_rating和critics_score是与上述发现一致。

我们拟合最好的模型并解释它的系数。

image.png

我们看到imdb_rating具有14.95的系数,意味着对于imdb_rating的每增加1个额外的分数,我们期望audience_score会增加14.95。 由于IMDB得分以0到10的衡量量表给出,并且audience_score以0到100的衡量量表给出,并且考虑截距= -32.90,这个结论是有道理的。

类似地,对于critics_score上的每增加1个额外得分,我们期望audience_score会增加0.075。 显然,这不像imdb_rating那样有影响力。

最后,对于电影运行时间每增加一分钟,我们预计在audience_score中将减少0.058。 这意味着一般来说,人们不喜欢冗长的电影。

预测

现在使用我们的最终模型来预测X-MEN的观众分数 。

 
 
predict(finew_movie)

image.png

该模型预测观众分数为71.5,接近真实值71。


结论

事实上,imdb_rating具有最高的后验概率,并且我们五个新创建的变量中有两个不包括在最佳模型中,这是需要改进的。 因为IMDB评级与观众分数有些同步,因此事先来预测变量是欠妥的,critics_score也是同样道理。

然而,我们确实有一些见解可能是有用的。 舞蹈电影更受欢迎; 特征/非特征电影在观众分数方面具有突出的优势; 较长的电影通常会让观众感到无聊等。


20_whatisemployeeexperience_v04.webp 最受欢迎的见解

1.matlab使用贝叶斯优化的深度学习

2.matlab贝叶斯隐马尔可夫hmm模型实现

3.R语言Gibbs抽样的贝叶斯简单线性回归仿真

4.R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

5.R语言中的Stan概率编程MCMC采样的贝叶斯模型

6.R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数

7.R语言使用贝叶斯 层次模型进行空间数据分析

8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

9.matlab贝叶斯隐马尔可夫hmm模型实现