基于R的Bilibili视频数据建模及分析——建模-因子分析篇
文章目录
- 基于R的Bilibili视频数据建模及分析——建模-因子分析篇
- 0、写在前面
- 1、数据分析
- 1.1 建模-因子分析
- 1.2 对数线性模型
- 1.3 主成分分析
- 1.4 因子分析
- 1.5 多维标度法
- 2、参考资料
0、写在前面
实验环境
- Python版本:
Python3.9
- Pycharm版本:
Pycharm2021.1.3
- R版本:
R-4.2.0
- RStudio版本:
RStudio-2021.09.2-382
该实验一共使用4个数据集,但文章讲述只涉及到一个数据集,并且对于每个数据集的分析,数据大小在110条左右
- 数据来源于和鲸社区
https://www.heywhale.com/mw/dataset/62a45d284619d87b3b2b9147/file
数据字段描述说明
- title:视频的标题
- duration:视频时长
- publisher:视频作者
- descriptions:视频描述信息
- pub_time:视频发布时间
- view:视频播放量
- comments:视频评论数
- praise:视频点赞量
- coins:视频投币数
- favors:视频收藏数
- forwarding:视频转发量
1、数据分析
数据分析阶段一共分为三个角度进行分析,分别是
变量相关性分析
、聚类分析
、建模-因子分析
下文讲述建模-因子分析
阶段
1.1 建模-因子分析
建模-因子分析阶段主要涉及自变量和因变量的关系分析,以及相应的建模分析,主要包含以下方面:
对数线性模型
、主成分分析
、因子分析
、多维标度法
1.2 对数线性模型
对数线性模型代码如下:
logit.glm <- glm(view~comments+praise+coins+favors+forwarding,
family = poisson(link = log), data = data1)
summary(logit.glm)
自变量的值都是<2e-16,说明观看量view和评论数、点赞量、投币数、收藏量、转发量没有重要影响。
1.3 主成分分析
主成分分析代码如下:
PCA=princomp(data1[6:11],cor=T)
summary(PCA)
0.9159657>0.8,故选择前3个主成分来反映原评价对象。
- 主成分载荷:
PCA$loadings
- 确定主成分:
按照方差贡献率大于80%原则,选定了3个主成分。
screeplot(PCA, type = "lines")
- 计算主成分得分
PCA$scores[,1:3]
1.4 因子分析
本实验采用
vrimax法
旋转因子分析:
- 旋转因子分析:
cor(data1[6:11])
Fal = factanal(data1[6:11], 3, rot="varimax")
Fal
- 因子统计计算得分:
使用
回归估计法
计算得分
Fal2=factanal(data1[6:11],3,scores="regression")
Fal2$scores
- 复合分析:
回归估计法+旋转因子分析:
Fal3=factanal(data1[6:11],3,scores="regression",rot="varimax")
biplot(Fal3$scores,Fal3$loadings)
1.5 多维标度法
- 多维标度法的古典解:
代码如下:
library(MASS)
d=dist(data1[6:11]) #as.matrix()
v
isoMDS()函数:Kruskal的非度量多维缩放
- isoMDS()结果值
代码如下:
fit=isoMDS(d,k=6)
fit
isoMDS()的参数k:数据集的列的数量
- view与comments属性:结果分析
代码如下:
x=fit$points[,1]
y=fit$points[,2]
plot(x,y);
abline(v=0,h=0,lty=3)
text(x,y,labels=row.names(X))
text():在绘图中添加文本
text在x和y给出的坐标上绘制矢量标签中的字符串。由于xy.coords(x, y)用于构建坐标,所以y可能会丢失。
2、参考资料
- 多元统计分析及R使用(第五版)
结束!