【视频讲解】R语言逐步回归模型对电影票房、放映场数、观影人数预测可视化

news/2025/3/17 21:21:43/文章来源:https://www.cnblogs.com/tecdat/p/18777665

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

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

分析师:Junjie Tan

讲解|R语言回归模型分析电影票房影响因素

本文通过利用回归模型帮助客户对电影的票房数据(以及放映场数,观影人数)进行了研究,确定了决定电影的票房的重要因素。并讲述、论证了预测电影的票房是电影投资的至关重要的环节。通过对电影票房预测技术的发展和探讨,深度剖析了电影票房预测这个研究课题。

数据描述

我们收集了中国电影发行放映协会统计的过千万票房的国产电影的相关统计指标,共涉及275部影片。

数据浏览: 

因变量为:

放映场数(千场):累积量。

观影人数(万人):累积量。

票房(万元):累积量。票房均值在一亿人民币左右,其中《人在囧途之泰囧》票房达到了12.7亿,位列第一。

自变量为:

•影片部分

genre  影片类别:分类变量,共有15个类型。为了获得大量的观众群体,大多数影片都兼具许多种影片类型,因此我们仅选取了该片最主要的类型。15个类型分别是:喜剧,魔幻,动作,爱情,灾难,历史剧情,励志,主旋律,警匪,悬疑,动画,儿童,惊悚,家庭伦理。

Year 上映年份:2010-2013四年

month 上映月份:1-12

week 上映周数:1-53,从当年1月1号起记为第一周

distribute 电影分级:C/G/L/S

runtime 时长:分钟。过长或过短的电影都会对票房产生影响,找到合理的时长,从而能够有效的控制电影的剪辑。

Story 作品是否改编 :该指标是电影产品的核心元素,在内容为王的当下,好的剧本往往能够吸引受众,对于国产影片,观众更看重的是好的故事,他们往往对国产影片的技术并不抱太大希望。因此,该指标主要包括两个水平,一是畅销小说改编成剧本1,另一个则是非改编剧本也就是原创剧本0。(N=改编,S=原创

reality 作品是否真人真事:1=真实,0=虚构

remake  作品是否翻拍:1=翻拍,0=非翻拍

sequel  作品是否续集:好莱坞的一大宗旨是誓将续集进行到底,真可谓天长地久有时尽,大片续集无绝期!因为第一,好拍;第二,票房好。那么,在中国市场,这招是否仍然管用?

•导演演员部分

导演姓名

导演年代

第几部作品:该片是该导演的第几部作品。冠军《人在囧途之泰囧》是导演徐峥的处女作,拿到了12亿的票房,而喜剧《财神客栈》已经是导演王晶的第110部影片。老导演or新导演,哪一种更吸引人?是久炼成钢,姜越老越辣?还是廉颇老矣,洗洗回家睡吧?

导演得奖情况:1=得奖,0=没得奖

导演是否转型:导演是一门确实能够自学成才的工种,就像久病成医,演的多了,拍的多了,自然也能成为优秀的导演。在中国电影市场中,演员转型当导演的赵薇、徐峥;作家转型的郭敬明、韩寒,我们希望看到已经在自己的领域取得成就的这些名人,随着工种的转变是否会对票房有影响。

Baidu index 主演的百度指数:影片的主演在分析中是一个字符变量,为了更好的使用这一指标,同时优化工作效率,我们决定在相同的时间段,选择所有演员百度指数的平均值作为衡量主演的标准。因为大多数电影不会仅有一个主演,所以我们选取了两个主演。百度指数越高,代表该演员知名度越高。

查看数据  

该数据集有以下一些变量:

从上表可以看到不同变量的缺失数据均值中值最大最小值等情况和分布情况。

从直方图来看,数据大致服从正态分布,说明数据可以进行回归模型的建立。

模型建立

    主要思路 为了准确的估计票房,了解电影票房的一般规律,更好为电影投资方提供参考意见,本文从电影票房和电影相关属性出发,采用多元回归分析方法,建立了线性回归模型,得出了电影票房变动的影响因素. 具体分析步骤

1.描述性统计,初步查看每个变量的均数中值等数据.

2.选择多项式回归模型

2.1变量选取 通过回归模型筛选出显著性较强的变量进行回归建模。

2.2显著性检验 根据F值和p值统计量来判断模型是否具有显著的统计意义。

2.3拟合预测 使用得到的模型对实际数据进行拟合和预测。

3.拟合不同的模型。查看模型效果。

4.分析得出结论 得出各个自变量之间的关系,以及它们对因变量的影响及其意义。

(一)转换数据,拟合多元线性模型

建立多元线性——票房

尝试通过最直观的解释建立模型,进行多元线性模型并进行分析。

从全变量模型可以看出大部分变量无法估计出其参数,说明部分变量不适合用来预测票房,因此对其中的部分变量进行删减后。得到筛选后的回归模型。

显示回归结果

回归结果分析

从输出结果的变量sig值可以看出,导演的情况和是否有续集以及电影的时长对电影的票房有巨大的影响。 从变量的coefficient回归系数来看,导演的情况和是否有续集有正相关关系。可以看到电影的票房和上映国家也有显著的关系,在美国上映的电影票房较高,可以看到他们的回归系p数在显著性水平0.05下均显著不为零。

 残差分析可以对回归模型的假设条件即随机误差项是否独立同分布进行检验,同时还可以找出离群点。 显示结果如下:

由于模型中部分系数是不显著,因此需要对模型进行改进,本文采用迭代回归模型建模。

使用逐步回归之后对模型进行残差检验。下图是残差直方图,从图上可以发现, 所有点基本上是随机地分散在0周围,密度曲线近似为正态分布。右边是正态pp图,其意义与左边类似;表明随机误差项是服从正态分布的,其原因是正态qq图近似地可以看成一条直线;.

拟合效果图形展示

以 原始数据作为x轴,回归拟合值为轴作图,在xy面上的点用直线连接见图。
原始图和拟合值的关系散点图

由于大部分黑色的实际数据点被红色的预测点覆盖,因此,模型具有较好的预测效果。

进行多元线性模型并进行分析——放映场数

回归结果分析

从输出结果的变量sig值可以看出,和票房的回归结果类似。导演的情况和是否有续集以及电影的时长对电影的演出场数有巨大的影响。 从变量的coefficient回归系数来看,导演的情况和是否有续集有正相关关系。可以看到电影的票房和上映国家也有显著的关系,在美国上映的电影票房较高,可以看到他们的回归系p数在显著性水平0.05下均显著不为零。

回归结果

 残差分析可以对回归模型的假设条件即随机误差项是否独立同分布进行检验,同时还可以找出离群点。 显示结果如下:

由于模型中部分系数是不显著,因此需要对模型进行改进,本文采用逐步回归模型建模。

逐步回归模型建模

使用逐步回归之后对模型进行残差检验。下图是残差直方图,从图上可以发现, 所有点基本上是随机地分散在0周围,密度曲线近似为正态分布。右边是正态pp图,其意义与左边类似;表明随机误差项是服从正态分布的,其原因是正态qq图近似地可以看成一条直线;.

左图是残差直方图,从图上可以发现, 所有点基本上是随机地分散在0周围,密度曲线近似为正态分布。右边是正态pp图,其意义与左边类似;表明随机误差项是服从正态分布的,其原因是正态qq图近似地可以看成一条直线;

拟合效果图形展示

以 原始数据作为x轴,回归拟合值为轴作图,在xy面上的点用直线连接见图。
原始图和拟合值的关系散点图

由于大部分黑色的实际数据点被红色的预测点覆盖,因此,模型具有较好的预测效果。

进行多元线性模型并进行分析——观影人数

回归结果分析

从输出结果的变量sig值可以看出,和票房的回归结果类似。导演的情况和是否有续集以及电影的时长对电影的演出场数有巨大的影响。 从变量的coefficient回归系数来看,导演的情况和是否有续集有正相关关系。可以看到电影的票房和上映国家也有显著的关系,在美国上映的电影票房较高,可以看到他们的回归系p数在显著性水平0.05下均显著不为零。

回归结果

 残差分析可以对回归模型的假设条件即随机误差项是否独立同分布进行检验,同时还可以找出离群点。 显示结果如下:

由于模型中部分系数是不显著,因此需要对模型进行改进,本文采用逐步回归模型建模。

使用逐步回归之后的模型进行残差检验。下图是残差直方图,从图上可以发现, 所有点基本上是随机地分散在0周围,密度曲线近似为正态分布。右边是正态pp图,其意义与左边类似;表明随机误差项是服从正态分布的,其原因是正态qq图近似地可以看成一条直线;.

左图是残差直方图,从图上可以发现, 所有点基本上是随机地分散在0周围,密度曲线近似为正态分布。右边是正态pp图,其意义与左边类似;表明随机误差项是服从正态分布的,其原因是正态qq图近似地可以看成一条直线;

拟合效果图形展示

以原始数据作为x轴,回归拟合值为轴作图,在xy面上的点用直线连接见图。
原始图和拟合值的关系散点图

由于大部分黑色的实际数据点被红色的预测点覆盖,因此,模型具有较好的预测效果。

结论

通过以上分析可以明显发现,面对良莠不齐的影片,通过集体智慧去粗取精,导演的情况和是否有续集以及电影的时长对电影的演出场数有巨大的影响,是一种帮助建立品位的电影体并作为生产者参考标准之一,他们直接影响电影公司对于导演、演员的选取。


关于分析师

 

在此对 Junjie Tan 所作的贡献表示诚挚感谢,他完成了数据科学与大数据技术专业的学位,专注于数据相关领域。擅长 R 语言、Python、MySQL、Tableau,以及数据挖掘、数据分析、数据建模 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现使用vue3完成后台管理系统的基础页面搭建

<template><div><!-- 头部开始 --><div style="height: 60px; background-color: #8686e0; display: flex; align-items: center"><div style="width: 200px; display: flex; align-items: center; padding-left: 15px"><…

pytthon的基本运用(8)——模块

一、模块的介绍 (1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句 (2)python对象定义和python语句 (3)模块让你能够有逻辑地组织你的python代码段。 (4)把相关的代码分配到一个模块里能让你的代码更好用,更易懂 (5)模块能定义函数…

服务器跑实验

项目名称——基于机器学习与深度学习的贷款批准预测 项目来源:和鲸社区https://www.heywhale.com/mw/project/670f61d10ebb9f7a69c5144c 项目数据集:有两个【上传不了博客】大概长这个样:数据说明:实验环境:tensorflow、shap 实验结果:实验过程以及遇到的问题和解决方案:…

工作面试必备:SQL 中的各种连接 JOIN 的区别总结!

前言 尽管大多数开发者在日常工作中经常用到Join操作,如Inner Join、Left Join、Right Join等,但在面对特定查询需求时,选择哪种Join类型以及如何使用On和Where子句往往成为一大挑战。特别是对于初学者而言,这些概念可能显得抽象且难以区分。在实际应用中,错误地使用Join类…

攻防世界 hello_pwn WriteUp

WriteUp 题目信息 来源:攻防世界 名称:hello_pwn 分类:Pwn 描述:pwn!,segment fault!菜鸡陷入了深思题目链接: https://adworld.xctf.org.cn/challenges/list解题思路 首先使用DIE对文件进行查壳,发现这是一个无壳的64位ELF文件,所以使用64位IDA对该文件进行反汇编。接…

《95%开发者不知道的vue.config.js高阶玩法》手撕Webpack配置链/SSR优化/多页应用,3倍构建效率实战方案

Vue工程化配置指南:vue.config.js深度解析 一、初始化配置文件 在Vue CLI工程根路径下创建配置文件: 项目层级示意: your-project/ ├── src/ ├── public/ ├── package.json └── vue.config.js # 新增配置文件基本模板结构: module.exports = {// 工程化配置区…

ElevenLabs 33 亿美元估值的秘密:技术驱动+用户导向的「小熊软糖」团队丨Voice Agent 学习笔记

图:Emmanuel Ashun / Endeavor大家好,这是 Voice Agent 学习笔记系列的第 23 篇,我是课代表十三🧑‍💻。ElevenLabs 是一家专注于人工智能语音技术的创新公司,致力于重新定义音频体验。凭借其突破性的语音克隆和配音工具,ElevenLabs 正在重塑音频内容创作的未来,让高…

分布式服务幂等性问题如何解决

在分布式系统中解决幂等性问题是保证系统健壮性的关键挑战之一。以下从原理到实践的完整解决方案,涵盖7种核心模式及落地实现细节:一、幂等性问题本质 核心定义:相同请求多次执行对系统状态的影响 = 执行一次的结果 产生场景:网络抖动导致客户端重复提交 服务端超时后重试机…

一图看懂|2025年经济社会发展10大主要任务

一图看懂|2025年经济社会发展10大主要任务

新朋友:线段树

目录认识线段树和他的梦想 实现梦想之有个小身板 实现梦想之一点一点查 实现梦想之一点一点变 实现梦想之一坨一坨查 实现梦想之一坨一坨变 实现梦想之…不,没能力帮你了1. 认识线段树和他的梦想 差分想必大家都认识,它是可以进行区间加与区间减,但是要查询某个区间的和。他…

攻防世界 get_shell WriteUp

WriteUp 题目信息 来源:攻防世界 名称:get_shell 分类:Pwn 描述:运行就能拿到shell呢,真的题目链接: https://adworld.xctf.org.cn/challenges/list解题思路 首先使用DIE对文件进行查壳,发现这是一个64位ELF文件,所以选择使用64位IDA对文件进行反汇编。发现可以直接运行…

分享一个我遇到过的“量子力学”级别的BUG。

你好呀,我是歪歪。 前几天在网上冲浪的时候,看到知乎上的这个话题:一瞬间,一次历史悠久但是记忆深刻的代码调试经历,“刷”的一下,就在我的脑海中蹦出来了。 虽然最终定位到的原因令人无语,对于日常编码也没啥帮助,但是真的是:情景再现 我记得当时我是学习 Concurren…