2021美赛建模ICM_Problem _D题音乐思路与代码
发布日期:2021-06-29 19:49:28 浏览次数:4 分类:技术文章

本文共 6913 字,大约阅读时间需要 23 分钟。

2021ICM D 题:音乐的影响

我们的目标是了解和衡量之前制作的音乐对新音乐和音乐艺术家的影响。
这里的之前制作的音乐是某艺术家之前制作的还是历史所有的音乐暂未表明,所以可能需要大家选择其中一个角度去建模,注意目标是量化对新音乐、音乐艺术家(两个目标,两个模型)的影响。

分析:题目中明确指出需要量化音乐,影响因素给出了天生的创造力,当前的社会或政治事件,

使用新乐器或工具,或其他个人经历。在建模时,除给出的因素外,应当考虑其他因素,比如共用几种乐器,音乐人的年龄,音乐人的社会地位和在领域内的地位,艺术家所属领域的热门程度等。

一些艺术家可以列出十几个甚至更多的其他艺术家,他们说他们影响了自己的音乐作品。

也有人认为,影响可以通过歌曲特征(如结构、节奏或歌词)之间的相似程度来衡量。有时,音乐也会发生革命性的转变,提供新的声音或节奏,例如当一种新的流派出现,或现有流派的重新发明(如古典、流行/摇滚、爵士等)。这可能是由于一系列的小变化,艺术家的合作努力,一系列有影响力的艺术家,或社会内部的转变。
分析:这段话的信息量非常大。首先艺术家之间的影响可以用人物关系图或知识图谱(较难)来分析,其中的相似程度可以利用相关分析,热力图来量化和展示。歌曲特征除了提到的结构、节奏或歌词(在问题分析中会详细说明如何量化),还可以添加一些自己想到的特征。对于后半段话,题目可能会问革命性转变的出现概率,往往新的流派会较难出现,而重新发明会随着艺术家和相关作品的增加而提高出现概率。

分析:背景说到音乐流派的重大转变是由于一个艺术家影响另一个艺术家或者外部事件(如世界重大事件或技术进步)的反应而产生的变化,这个是后面的模型建立需要的。后半段表示,题目可能会问到如何通过考虑歌曲网络及其音乐特征去量化音乐艺术家对彼此的影响,音乐是如何随着社会的变迁而演变的。

你的团队已经被综合集体音乐(ICM)协会确定为一个衡量音乐影响力的模型。这个问题要求你审视艺术家和流派的进化和革命趋势。为了完成这个具有挑战性的项目,ICM 协会要求您的团队通过以下方式来探索音乐的演变,通过对音乐艺术家的影响来进行研究:

(1)使用 Influence_Data 数据集或其中的一部分创建音乐影响力的(多个)定向网络,其中影响者连接到追随者。开发参数来捕捉这个网络中的‘music influence’。通过创建定向影响者网络的子网络来探索音乐影响力的子集。 描述此子网。 在这个子网络中, 你的‘music influence’指标揭示了什么?

分析:influence 的数据集分析见文末的 附 1 数据集分析,这里仅阐述解题思路。此题仅需要 influence 数据集即可,如果有能力可以在这里建立一个知识图谱。实际此题的目的是为了确定艺术家的音乐影响力,而建立所需要的定向网络就是让 influence 中的影响者艺术家和追随者艺术家之间产生映射联系。

我给出的方法是首先添加数据列音乐领域始祖,也就是对所有数据进行溯源,如果追随者和影响者的领域相同,找出影响者是追随哪个影响者的,这个需要代码实现。添加数据列影响人数,对于某一确定的影响者,找到被此影响者直接或间接影响的人数。做出领域人数表,计算出领域内的艺术家大师共有多少人。在相同领域,可以根据不同年份做可视化(折线图最好),观察并得出不同领域的巅峰年份(新生代人才最多的)。

这时,子网络参数就算建立好了。然后建立 misic influence 模型,可以建立综合评价模型(有很多,选择其一),这里选用灰色综合评价法,指标为此艺术家的影响人数,所在领域人数,所在领域年份人数,所在领域年份影响力排名(计算方法为:先筛选出艺术家所在领域此年份的所有人,然后根据影响人数进行排名),所在年份竞争力(这一年份的所有领域的艺术家总人 数)。(对于模型的求解过程,在论文中以一个领域的一个年份进行展示即可)

(2)使用 FULL_MUSIC_DATA 或音乐特征的两个汇总数据集(具有艺术家和年份)来开发音乐相似性度量模型。用你的衡量标准,流派内的艺术家比流派间的艺术家更相似吗?

分析:这里选用 FULL_MUSIC_DATA 数据集和第一问用到的数据集进行分析。题目的要求是开发音乐相似性度量模型,并判断是否流派内的艺术家比流派间的艺术家更相似。由于指标很多,可以利用两种方法进行处理。1 可以利用相关分析探究各指标与受欢迎程度之间的相关关系,将相关性低的几个指标剔除。 2 可以利用主成分分析对数据进行降维;对于音乐相似性度量模型,需要用到 FULL_MUSIC_DATA 数据集,关于如何处理数据集在文末附 1。音乐相似性主要指的是两个音乐之间的相似程度,再对数据集进行数据清洗之后,可以用代码计算出音乐间的相似程度,常用皮尔逊相关系数和余弦相似度,可以看看下面的博客

除此之外,可以对其进行可视化,画出相关关系热力图,可以直观反映音乐间的相似性(挑 6-10 个左右的歌曲即可,在论文中进行展示) 针对后一问,根据艺术家所属流派,对于艺术家进行聚类分析(DBSCAN 或者 kmeans)查看流派内的艺术家与流派见的艺术家的相关关系,聚类分析展示出的图(不同流派用不同颜色的点)可以直观反映流派间与流派内的关系。

(3)比较流派之间和流派内部的相似之处和影响。流派的区别是什么?流派是如何随着时间的推移而变化的?有些流派与其他流派有关联吗?

分析:进一步对第二问的结果进行数据挖掘,这一问前半问很简单,除了前一问的结果外,查阅一点文献,加上一些数据分析就可以了。
对于流派是如何随着时 间的推移而变化的,可以针对某一流派进行阐述,第一问介绍了时间推移此领域的新生代人数,除此之外也可以看这一领域此年份的发歌量,可以做折线图来看一个流派的兴衰。然后根据一些重要的时间节点,比如拐点或者增长率很高或很低的节点,查看
FULL_MUSIC_DATA 数据集中对应的时间内,此领域或者乐坛发生了什么变化,是否有很著名的歌曲,或者由于别的领域火热,导致此领域人数,歌曲变少了。针对有些流派与其他流派是否有关联,可以看同一艺术家是否在不同流派发表了歌曲,或者不同艺术家之间的影响关系(Influence_Data 数据集)。

(4)说明 DATA_influence 数据集中报告的相似性数据是否表明识别出的影响者实际上影响了各自的艺术家。“有影响力的人”真的会影响追随者创作的音乐吗?是某些音乐特征比其他特征更具“感染力”,还是它们在影响某个特定艺术家的音乐方面都扮演着相似的角色?

分析:对于前半问,“有影响力的人”真的会影响追随者创作的音乐吗?答案是肯定的,因为后半问在问前半问肯定回答后的结论。 前半问需要大家发动自己的智慧,只要扯上关系证明真的会影响即可。对于后半问,可以针对性地做验证分析。

某些音乐特征比其他特征更具“感染力”,可以参考前文说的相关性分析,也就是在FULL_MUSIC_DATA 数据集中利用相关分析探究各指标与受欢迎程度之间的相关关系,相关性更高,表示更有感染力。

它们在影响某个特定艺术家的音乐方面都扮演着相似的角色,这个可以对一个有名的艺术家进行探讨,针对不同的指标,查看影响者与被影响者之间指标的相似程度,可以搞一个对比图、南丁格尔玫瑰图或者雷达图(后两个更好一点,在进阶思路中给出画的软件和方法),最后进行数据分析。

(5)从这些数据中找出音乐演进过程中是否有可能革命性(重大飞跃)的特征?在您的网络中,哪些艺术家代表变革者(重大变革的影响者)?

分析:这个在前面的分析中说到了,就是观察折线图的拐点或者增长率很高或很低的节点,然后针对这一节点,分析为什么会出现这样的情况,将这一时期的艺术家和作品都列出来,查看作品的各个指标有什么比较突出的特点(突出不突出就和所有作品的平均值做对比,与平均
值差距很大则代表很突出),这样的特点就是题目中描述的革命性(重大飞跃)的特征对于后半问就需要大家根据已有的结论自己寻找了,有了前面的基础(第一问的影响力不要忘了),这个很简单。对于这道题的结果可以以表格的形式呈现,可以看看突出显示表,画出来效果很好看。

(6)分析一种流派中随着时间发生的音乐演变的影响过程。您的团队能否确定能够揭示动态影响者的指标,并解释流派或艺术家如何随着时间的推移而变化?

分析:这道题需要根据前面自己的结论得出答案,这里提示几点:1 每一个流派都有自己很突出的几个指标,将这几个指标找出来。 2 动态影响者的指标一定是更突出的,可以将欢迎程度作为重要指标。 3 对于单个艺术家,可以看看根据历史推移,做了哪些改变,歌曲的指标发生了什么变化。 4 语文建模题,加油!

(7)你的工作如何表达音乐在时间或环境中对文化的影响?或者,如何在网络中识别社会、政治或技术变化(如互联网)的影响?

分析:此问的目标是,如何在网络中识别音乐对社会、 政治或技术变化(如互联网)的影响。这一问可以参考大量文献和新闻,语文建模题。
这里提供一些我的想法,对于社会和政治而言,在和平稳定的年代与战争年代的歌曲特征是不 一样的,冷战、二战、工业革命、互联网的高速发展可能对音乐有很大的影响,同样音乐也对这些历史事件有所影响。互联网的出现影响了音乐播放的形式,特别是现在的电子音乐对于以前的传统媒介,比如唱片机等影响很大,科学技术的发展可能也会导致人们对于音乐领域的爱好有所差异。 向 ICM 协会写一份一页纸的文件,说明使用你的方法通过网络了解音乐影响的价值。考虑到这两个问题数据集仅局限于某些类型,随后又局限于这两个数据集所共有的艺术家,你的工作或解决方案将如何随着更多或更丰富的数据而改变?建议进一步研究音乐及其对文化的影响。

问题分析的重要修正:在一开始我是从题目开始看,用到什么数据集就去看看数据集,导致两个数据集没有看到。从第三问开始,大家根据那两个数据集可以减少一些我思路的难度。

附 1 附 1 数据集分析
数据集来源:
1 代表音乐领域的影响者和追随者,这不仅来自艺人自己的报道,也来自行业专家的观点。
这些数据包含了过去 90 年里 5854 位艺术家的影响者和追随者。
2“full_music_data”2 为 98,340 首歌曲提供 16 个变量条目,包括舞蹈性、节奏、响度和键等音乐功能,以及每种歌曲的 artist_name 和 artist_id。这些数据用于创建两个汇总数据集,包括:
a.艺术家“data_by_artist”的平均值,
b.表示年份“data_by_year”。
1 这些数据是从 AllMusic.com 上搜集来的
2 这些数据来自 Spotify 的 API
注意:这些文件中提供的数据是更大数据集的子集。这些文件包含您应该用于解决这个问题的唯一数据。
分析:这段话表明不可以另外找数据,必须得用美赛提供的 D 题数据,下面对每个数据集进行分析。

  1. influence_data.csv
    数据集的指标分析: influencer_id:影响者艺术家的标识号。部分可能是字符串数据类型,应全改为整数类型后再对数据集进行后续处理。
    influencer_name:影响者艺术家的姓名。一个 id 对应一个姓名
    influencer_main_genre: 影响者艺术家的音乐流派。
    influencer_active_start: 影响者艺术家开始音乐生涯的年份。
    follower_id: 追随者艺术家的标识号。部分可能是字符串数据类型,应全改为整数类型后再对数据集进行后续处理。
    follower_name:追随者艺术家的名字。
    follower_main_genre: 追随者艺术家的音乐流派。
    follower_active_start: 追随者艺术家音乐生涯的年份。
    数据集的数据预处理:
    首先剔除有空值的数据,这些数据是不完整的,不利于数据分析与建模。对于 id 和姓名 不对应的数据也应剔除,是异常数据。对于影响者开始音乐生涯的年份晚于追随者艺术家
    音乐生涯的年份的数据也要剔除,是异常数据。
  2. full_music_data.csv
    数据集的指标分析:
    artist_names:艺术家的姓名
    artists_id:艺术家的标识号
    danceability:衡量此音乐是否适合跳舞的指标。0 最不适合跳舞,1 为最适合跳舞
    energy:一种表示对强度和活动性的感知的量度。值为 0.0 表示最不充满活力,值为 1.0 表示最强烈/充满活力。通常,充满活力的曲目给人的感觉是快速、响亮和嘈杂。例如,死 亡金属的能量很高,而巴赫的前奏曲在音阶上得分很低。影响这一属性的感知特征包括动态 范围、感知响度、音色、起始率和总熵。
    Valence:描述一首曲目所传达的音乐积极程度的一种衡量标准。值 0.0 表示最负,值 1.0 表 示最正。高价的曲目听起来更积极(如高兴、欢快、欢快),而低价的曲目听起来更消极(如悲 伤、沮丧、愤怒)。
    tempo: 曲目的总体估计速度,以每分钟节拍(BPM)为单位。在音乐术语中,节奏是给定乐曲 的速度或节奏,直接从平均拍子时长得出。
    loudness: 音轨的整体响度,以分贝(DB)为单位。值的典型范围在-60 到 0 db 之间。响度值 是整个音轨的平均值,对于比较音轨的相对响度很有用。响度是声音的性质,它是物理强度 (振幅)的主要关联。
    mode: 曲目的模态(大调或小调)、旋律内容来源的音阶类型的指示。主要由 1 表示,次要为 0。 key:估计
    的音轨的整体数值。 为使用标准音调等级记法映射到音调的整数。 例如, 0=C, 1=C♯/D♭,2=D,依此
    类推。如果未检测到 key 值,则的值设定为-1。
    acousticness: 音轨是否是声学的置信度测量(没有技术增强或电子放大)。值 1.0 表示音轨的 可信度很高。
    instrumentalness: 预测曲目是否不包含人声。在这种情况下,“噢”和“啊”的声音被视为器乐。 说唱或有
    声歌曲显然是“有声的”。器乐度值越接近 1.0,曲目中不包含声音内容的可能性就 越大。高于 0.5 的值用
    于表示乐器音轨,但随着该值接近 1.0,置信度会更高。
    liveness: 检测曲目中是否有观众。活跃度值越高,表示实时执行曲目的概率越高。如果值 大于 0.8,则表
    示音轨处于活动状态的可能性很大。
    speechiness:检测音轨中是否存在口语单词。越是专门的演讲——比如录音(例如脱口秀、有 声读物、诗 歌),属性值越接近 1.0。大于 0.66 的值描述可能完全由口语单词组成的曲目。 介于 0.33 和 0.66 之间的值
    描述可能同时包含音乐和语音的曲目(分段或分层),包括说唱音 乐等情况。低于 0.33 的值很可能表示音乐
    和其他非语音轨道。
    explicit:检测曲目中的显式歌词(TRUE(1)=是,是;FALSE(0)=否,不是或未知)。
    duration_ms: 音轨的持续时间,以毫秒为单位。
    popularity:这条音轨的受欢迎程度。该值将介于 0 和 100 之间,其中 100 是最受欢迎的。 人气是通过算
    法计算的,并且在很大程度上是基于曲目已经播放的总次数和这些播放的最近 程度。一般来说,现在播放
    频率较高的歌曲会比过去播放频率较高的歌曲更受欢迎。 重复的曲目(例如,来自单曲和专辑的相同曲目) 是独立评级的。艺术家和专辑的受欢迎程度 是从曲目受欢迎程度定量推导出来的。
    year: 发行曲目的年份。(1921 年至 2020 年的整数)
    release_date: 发行曲目的日期大多采用 yyyy-mm-dd 的格式,但是日期的精度可能会有所不 同,有些只
    是以 yyyy 给出。
    song_title (censored): 曲目的名称。(字符串) 歌曲标题中任何潜在的明确单词已经被程序删 除。
    count:特定艺术家的歌曲数量在 full_music_data.csv 文件中表示。
    数据预处理及数据分析
    可以看到这个数据集的指标还蛮多的,里面有字符串、整型、布尔型、浮点型等,为了第 二问量化模型,需要对这些数据进行统一处理。
    首先,为了统一标准,将整形,布尔型统一变为 0 到 1 之间的浮点型,其中对于不是 0 到 1 的数据,需要用到数据的标准化将数据映射到 0-1 之间,标准化不仅可以有利于模
    型的建立,而且可以消除量纲对数据的影响。
    对于发行日期,由于 release_date 列有的是年份,有的是年月日,所以在数据分析时将 此列剔除,保留 year 列。
    对于 song title,可以添加歌名单词数这列,将其作为影响指标之一。

代码截图如下:

在这里插入图片描述

如果愿意付费,需要代码请加我球球,我不写论文,只写代码和思路

837216129

转载地址:https://data-mining.blog.csdn.net/article/details/113732174 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:山东数据大赛-供水管网压力预测-排名106-6.45分
下一篇:Python遗传算法求解TSP旅行商问题——全国主要城市交通最短路径

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月09日 18时15分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章