唱片的受欢迎程度的逻辑回归预测

作者: 沁沁_ | 来源:发表于2017-01-26 10:37 被阅读0次
唱片的受欢迎程度的逻辑回归预测

背景:

全球音乐产业的年收入约为150亿美元。其中唱片业的竞争尤为激励,世界三大唱片公司(索尼、环球、华纳)的唱片收入约占全球唱片销量收入的82%。

艺术家是音乐产业的核心,唱片公司会为其提供必要的资源(录音、销售、发行和巡演)以换取唱片、单曲和演唱会的利润百分比。

不幸的是,艺术家的成功是高度不确定性的,有一些单曲可能非常受欢迎,有广泛的媒体传播和数字下载;有一些可能并不受欢迎,无法带来唱片销量。

预测目的:

了解唱片业的竞争性和唱片公司面对音乐发行的基本决策问题,通过算法和行业理解帮助唱片公司最大程度地获得财务成功,继而给听众带来多元的音乐体验。

如何通过分析来预测一首歌曲的流行?在这里,我们假设一首歌曲如果可以达到BillBoard Hot 100 Chart的TOP 10,这首歌曲就被认为是受欢迎的,是能带来潜在的唱片销量的。

数据概要:

我们选取了1990年至2010年以来的所有跻身于BillBoard Hot 100 Chart TOP 10的歌曲以及部分没有在TOP10的部分歌曲,通过歌曲本身的属性信息来预测它的受欢迎程度。这部分数据主要来源于:维基百科、Billboard.com和echonest。

主要变量:

Year 年份:歌曲发行的年份;
Songtitle:歌曲名称;
Artistname:歌手;
SongID和Artist ID:歌曲的ID和歌手的ID;
timesignature和timessignature_confidence:拍子记号,表示歌曲拍子的种类与结构;
loudness:响度,一个连续变量,表示音频的平均振幅;
tempo和tempo_confidence:歌曲平均每分钟的beats;
key和key_confidence:歌曲中音调的高度;
pitch:表示歌曲的音高;
timbre_0_min, timbre_0_max, timbre_1_min, timbre_1_max,. . . , timbre_11_min:音色的载体;
Top10: 1或0,表示这首歌曲是否跻身于BillboardHot 100 Chart TOP10 (1表示是,0表示否)。

数据清理:

将源数据分为训练集和测试集:

SongsTrain = subset(Songs, year <= "2009")
SongsTest = subset(Songs, year == "2010")

提取numeric类型的变量(重要语法技巧):

nonvars = c("year", "songtitle", "artistname", "songID", "artistID")
SongsTrain = SongsTrain[ , !(names(SongsTrain) %in% nonvars) ]
SongsTest = SongsTest[ , !(names(SongsTest) %in% nonvars) ]

分类情形,采用逻辑回归模型:

模型1:

SongsLog1 = glm(Top10 ~ ., data=SongsTrain, family=binomial)

结合实际A:

模型结果显示变量confidence about time signature\key\tempo越高,这首歌曲跻身于TOP 10的可能性就越大;实际上confidenceabout time signature\key\tempo越低,则表示这首歌曲越复杂。
关于模型1的结论A:
主流听众更加喜欢简单的歌曲。

结合实际B:

富有heavier instrumentation的歌曲更容易louder和more energetic.。通过观察变量loudness,我们不难发现主流听众更加喜欢富有heavier instrumentation的歌曲;但是我们很奇怪地发现,变量energy的系数却是与变量loudness的系数是相反的,变量energy和变量loudness相关性达到0.74。

关于模型1的结论B:

变量energy和变量loudness相关性达0.74,模型1存在过度拟合的问题。

模型2:

SongsLog2 = glm(Top10 ~ . - loudness, data=SongsTrain, family=binomial)

关于模型2的结论:模型2显示变量energy的系数为正,表明主流听众更加喜欢富有heavier instrumentation的音乐,较高的energy水平会使得歌曲更加富有heavier instrumentation而受欢迎。

模型3:

SongsLog3 = glm(Top10 ~ . - energy, data=SongsTrain, family=binomial)

关于模型3的结论: 模型2和模型3一同证明了富有louder和more enegertic的heavier instrumentation更加受到主流听众的喜爱。

模型预测评估:

predictTest = predict(SongsLog3, type="response",newdata=SongsTest)
table(SongsTest$Top10, predictTest > 0.45)

模型预测的精准度:

(309+19)/(309+19+5+40)=0.87936;

Baseline模型预测的精准度:

314/(314+59)=0.8418231;

通过和Baseline模型预测的精准度相比,逻辑回归模型预测更加准确。

逻辑回归模型3的敏感性

sensitivity = 19/(19+40)=0.322

逻辑回归模型3的特异性

specificity =309/(309+5)=0.984

逻辑回归模型3的结论:

模型3更加侧重于特异性specificity相比于敏感性sensitivity;
提供了较为保守的预测,预测一首歌曲其实是很难跻身于Billboard TOP 10的,然而我们对于预测极有可能成为TOP 10的歌曲是非常有信心的。

源数据:

https://courses.edx.org/asset-v1:MITx+15.071x_2a+2T2015+type@asset+block/songs.csv

参考代码:

https://github.com/QinQin0912/edX_The-Analytics-Edge_HW/blob/master/MusicRecord.R
扩展阅读:
《虾米推荐系统随笔》作者:拖鞋
http://www.haodaima.net/art/2309062
电影推荐:
《再次出发之纽约遇见你 Begin Again》
http://movie.douban.com/subject/6874403/

相关文章

  • 唱片的受欢迎程度的逻辑回归预测

    背景: 全球音乐产业的年收入约为150亿美元。其中唱片业的竞争尤为激励,世界三大唱片公司(索尼、环球、华纳)的唱片...

  • 常见的七种回归技术

    介绍 根据受欢迎程度,线性回归和逻辑回归经常是我们做预测模型时,且第一个学习的算法。但是如果认为回归就两个算...

  • 七种回归

    介绍 线性和逻辑回归通常是人们在预测建模中学习的第一种算法。由于受欢迎程度,很多分析师甚至认为他们是唯一的回归形式...

  • 基于逻辑回归的分类预测

    基于逻辑回归的分类预测 学习目标了解逻辑回归的理论掌握逻辑回归的sklearn函数调用并将运用到鸢尾花数据集预测 ...

  • (四)读懂逻辑回归结果 —— 作出预测

    本文将讨论利用逻辑回归进行预测。 回归系数表 #3:预测 逻辑回归中的预测与最小二乘回归的预测十分相似(点击这里回...

  • demo1: Tensorflow实现Linear regres

    Linear Regression 回归主要分为线性回归和逻辑回归。线性回归主要解决连续值预测问题,逻辑回归主要解...

  • 0x06_逻辑回归

    在之前学习线性回归算法时,是做预测,相比逻辑回归本身是做分类。逻辑回归是通过sigmoid函数整合将预测值进行相...

  • 2018-10-19

    Python与数据挖掘(二)——逻辑回归 逻辑回归一般用来实现分类 一、算法原理 1、预测函数 2、将预测函数的输...

  • 吴恩达机器学习笔记(2)

    一.逻辑回归 1.什么是逻辑回归? 逻辑回归是一种预测变量为离散值0或1情况下的分类问题,在逻辑回归中,假设函数。...

  • 逻辑回归Loss function推导

    逻辑回归 预测概率 if : if : 最大似然 求导

网友评论

    本文标题:唱片的受欢迎程度的逻辑回归预测

    本文链接:https://www.haomeiwen.com/subject/fvpxittx.html