2021年7月22日木曜日

MIDIファイルを入力とした分析:和音の出現頻度から見たマーラー作品(その6:全拍対象・マーラーの作品間の比較:2021.7.27更新)

 これまでMIDIファイルを入力とした分析の一環として、和音(コード)の出現頻度に基づくマーラーの交響曲作品50ファイル(楽章単位)の他の作品71ファイルとの比較を試みた結果を「MIDIファイルを入力とした分析:和音の出現頻度から見たマーラー作品」として報告し、次いでその第2報として比較対象となる作品数を増やして、マーラーの作品50ファイルに対して、他の作曲家の作品200ファイルの合計250ファイルでの分析結果について「MIDIファイルを入力とした分析:和音の出現頻度から見たマーラー作品(その2:拡張版)」として報告しました。更に2つの報告を補完する分析として、各和音毎の出現頻度の傾向を、マーラーの交響曲と比較対象となる作品群との間で比較した、「MIDIファイルを入力とした分析:和音の出現頻度から見たマーラー作品(その3:補遺 )」を公開しました。

その後、集計プログラムの制約で、対象作品のMIDIデータの各ファイルに含まれる最初の1591拍分のみが分析対象となっていることが判明したため、ファイルに含まれる全ての拍を対象とした分析を、比較対照用のデータを増やし、合計300ファイルを対象として実施した結果を、「MIDIファイルを入力とした分析:和音の出現頻度から見たマーラー作品(その4:全拍対象・比較対照作品追加・割合比較)」および「MIDIファイルを入力とした分析:和音の出現頻度から見たマーラー作品(その5:全拍対象・比較対照作品追加・傾向分析)」として公開しました。

上記の経緯を踏まえ、この記事では、マーラーと他の作曲家の作品との間の比較ではなく、マーラーの作品間の比較を目的として主成分分析・因子分析・クラスタ分析を実施した結果について示します。

1.対象データ

 マーラーの作品のうち、本分析に利用可能なMIDIファイルが公開されている以下の作品。(合計64ファイル、以下の括弧内はファイル数。)

  • 「大地の歌」、交響曲第1番~第10番(クック版)計11曲の各楽章(50)
  • 「さすらう若者の歌」(4)
  • 「リュッケルトによる5つの歌曲」(5)
  • 「子供の死の歌」から第1曲「いま太陽は晴れやかに昇る」 (1)
  • 「子供の魔法の角笛」から「夏の交替」「魚に説教するパドヴァの聖アントニウス」「ラインの小伝説」「美しいトランペットが鳴り響くところ」(4)

分析は以下の2つの単位で行った。

 (1)交響曲楽章50および歌曲14の合計64ファイルについてファイル単位
   (2)交響曲(第10番クック版、「大地の歌」を含む11曲)について作品単位

2.分析に用いた特徴量

 対象データの各拍に出現する和音パターンのうち、抽出対象とした131種のうち、(1)対象作品全体(2)交響曲全体のそれぞれの合計の上位40位まで。
 以下に示す通り、(1)ファイル単位の場合と(2)交響曲の作品単位の場合との間で順位の変動はあるものの、40位までに含まれる和音パターンの種類は同一である。
 上位40位までで、いずれの場合でも86%を超える被覆率であるが、ここで分析対象から除外された和音の中に、作品を特徴づける和音がないと主張しているわけではない。どちらかといえば、ここで採用している統計的な分析手法の性質から、出現頻度が低い特徴量を分析に含めてもそれが分析結果に影響する可能性は低い。今回の分析の際にも131の全ての和音を対象とした分析から、従来、マーラーの作品と他の作曲家の作品の比較対照の分析の際に用いた22種の和音を対象としたまで、幾つかのパターンでの分析を試行したが、その過程を通じて、分析対象の和音を増やしても分析結果の大きな傾向には影響しないことが確認できた一方で、従来の22種の和音については、それらのうちの幾つかはマーラーの作品における出現頻度割合の上位を占めてはおらず、マーラーの作品間での比較分析を行うための特徴量としては必ずしも適切でないことから、マーラーの作品で出現頻度が高い和音を分析対象とすることが適切であるという判断をするに至った。なお、出現頻度という特徴量の扱いに関しては、主成分分析を行う上で検討の余地があるが、この点については後述の3.分析手法の該当箇所に記載する。

 尚ここでの被覆率とは、抽出対象とした131種類の出現頻度合計を100%とした時の比率であり、抽出対象とならなかった和音を含めた各拍に出現する全和音を母数としているわけではない。
 但し分析対象となった総拍数92,355のうち抽出対象とならなかった拍は1,404で1.5%程度であり、抽出対象外の和音で上位40位までの頻度を持つものはないので、未抽出の和音が存在することが今回の分析結果に与える実質的な影響はない。とはいえ個別のファイルについてみた場合には、未分析の拍の割合が5%程度のものも含まれているため、当該ファイルについて上位40種類の和音の中に未分析のものが含まれる可能性は残されている。そうした和音を分析対象外とすることで、重要な特徴が見落とされてしまう可能性はあり、これらについては今後、更に未分析の和音を更に減らしていき、更に分析対象の和音の選択基準について吟味する必要があると考える。

 2-1.分析対象としたマーラー作品全体(計64ファイル)での和音出現割合(上位40種)
2-1-a.対象データについて横軸にファイル(楽章・作品)、奥行きに和音種別(頻度順)、高さに出現頻度をプロットした地形図
ファイルは左から「大地の歌」、番号順の交響曲、歌曲の順(1.対象データで示した順)
最頻割(y=0)の最大は第3交響曲第5楽章(z=39.8、単位は%)で、以下の地形図ではx=19, y=0の座標が最高点でそこだけ色がはっきりと青くなっているのが確認できる。

2-1-b.出現頻度降順に和音を並べたヒストグラム
ここでは全作品・楽章(ファイル)での各和音の出現頻度の合計値に基づき割合を計算し、順位を決定している。

 2-2.マーラー交響曲(11曲)全体での和音出現割合(上位40種)
2-2-a.対象データについて横軸に作品(交響曲)、奥行きに和音種別(頻度順)、高さに出現頻度をプロットした地形図
作品は0:「大地の歌」、1以降は交響曲の番号を表す
全体的な傾向として、最頻割合(y=0)について、後期作品の「大地の歌」(x=0)、第9交響曲(x=9), 第10交響曲(x=10)では低め、初期作品では高めの傾向が明確に確認できる。


2-2-b.出現頻度降順に和音を並べたヒストグラム
ここでは全交響曲での各和音の出現頻度の合計値に基づき割合を計算し、順位を決定している。

3.分析手法

 分析はすべてR言語(version 4.1.0 (2021-05-18版)を用いて行った。
 分析履歴をアーカイブに含めた。(hist.txt)

 A.主成分分析:prcompを使用。
  スケーリングについては、(1)ファイル単位の分析ではスケーリングを行わず(scale=FALSE)、説明率89%⇒第7主成分までについて負荷と主成分得点を計算。
  (2)交響曲の作品単位の分析では、従来通りスケーリングを行う(scale=TRUE)場合と行わない(scale=FALSE)場合の両方を実施。
  前者では説明率93%⇒第7主成分までについて負荷と主成分得点を計算。
  後者では説明率91%⇒第4主成分までについて負荷と主成分得点を計算。
  分析結果はggbiplotとbiplotでグラフ化。負荷と主成分得点はbarplotでグラフ化。

 なおスケーリングについて、ここでコメントをしておきたい。prcompのscale引数は論理値型でデフォルトではF、即ちスケーリングを行わない。スケーリングを行うか行わないかの違いは、分析を行う行列の違いであり、スケーリングを行う場合には相関行列から、スケーリングを行わない場合には、分散共分散行列から主成分分析が行われる。スケーリングを行わないのがデフォルトなのはR言語の仕様の歴史的な事情によるものであり、分析に用いる特徴量が同一単位でありかつ等分散であることが保障されない限りは、通常、スケーリングは実施するものとされている。

 今回の分析についていえば、使用している特徴量は全て、ある和音のあるファイルの中での出現頻度であるからスケーリングをする必要はない筈である。(問題になるとしたら寧ろ、特徴量間に相関があることの方であろう。)ところが、従来のマーラー作品と他の作曲家の作品との比較対照においてはスケーリングを行った分析結果を公開してきており、更に今回はファイル単位の分析についてはスケーリングを行わず、交響曲の作品単位での分析ではスケーリングを行う場合と行わない場合の両方の結果を示すことにしたが、これらの方針については異論が考えられるので、ここでの立場を述べておきたい。

 今回の分析に限って言えば、スケーリングを行わない場合、ある和音の出現頻度と別の和音の同じファイル・作品での出現頻度の比はそのままに分析が行われるのに対して、スケーリングを行えば、相関行列の計算結果によってその比が調整されるという見方ができるだろう。いずれの場合でも、ある和音の出現頻度のファイル(楽章なり作品)間での違い(2-2-a.の地形図では、横軸方向の高さの比)の傾向は保たれるのだが、和音の間の比(2-2-a.の地形図では奥行方向の高さの比)については、スケーリングを行うことで調整がされ、今回のケースでは、大まかに言って、2-2-b.の出現頻度の降順に並べたグラフで横軸方向に右下がりとなるグラフにおける頻度の下がり具合が小さくなることになる。一例を挙げるならば、スケーリングをしない場合には、長三和音(19)・短三和音(25)がそれぞれ全体の約15%,約8%を占めていて、40位の増四度(65)が約0.5%を占めているので、長三和音/短三和音/増四度の出現頻度比は30/16/1であるのが、スケーリングをすると相関行列の計算結果に基づいて調整がされることにより、この比が小さくなる。その結果として分析における主成分負荷の各特徴量における大きさ(biplotで表示される各和音の負荷量の矢印の長さ)の差が、スケーリングをすることで小さくなっていることが確認できる。結果として各作品のグラフの中での相対的な位置関係のトポロジーについては大まかには保存されているものの、具体的な空間内での方向や距離については変化が起こることになる。言ってみれば、今回のケースにおいてスケーリングを行うことは、各和音間の出現頻度の割合の大小の違いよるバイアスを除いて、それぞれの和音の出現頻度の作品ないし楽章(ファイル)の間での違いについて、異なる単位の特徴量を用いた主成分分析におけるようにスケーリングを行うことによって、恰も和音毎にそれぞれ独立に考慮したらどうなるかを示していることになると考えられるだろう。

 一方、上記とは別に、分析に用いる変数(特徴量)よりもサンプルの数が少ない場合の分析の有効性に問題があることが指摘されている。今回の分析では、(2)交響曲の作品単位の分析においてはサンプル数が11であるのに対して、変数である出現頻度割合の和音の数を40としているので、まさにこの問題のケースに該当していることになる。だがこれは、技術的なレベルで捉えた時には、因子分析である手法を採用した場合に相関行列ないし共分散行列がランク落ちして逆行列が求まらないという問題が生じるからであり、実際、今回のケースでも因子分析はそのために実施していない。一方で主成分分析は計算上、上記のような問題とは関係がないため、計算上は支障がない。だからといって計算結果が信頼できるかどうかは別の問題であり、これを回避しようと思えば、変数選択を行い、分析に使用する和音の数を減らせばよいわけであるが、実際に分析をした結果、大きな問題はなさそうであったため、この点については今後、更に分析・検討を行って、より適切な結果に置換していく可能性はあるが、一旦は40変数での結果をそのまま示すこととしたものである。

 B.因子分析:factanalを使用。(2)交響曲の作品単位だとサンプル数が11であり、特徴量40に対して少なすぎて分析できないため、(1)ファイル単位の場合のみ実施。
  因子数の決定は相関行列の固有値を参照:固有値が2以上⇒5因子と決定。
  rotationはvarimax(直交回転), promax(斜交回転)の両方を試行。
  分析結果はbilplotでグラフ化。負荷と因子得点はbarplotでグラフ化。

 なお作品ないし楽章における和音の出現頻度の割合という同じ特徴量を用いて、主成分分析と因子分析という異なる因果関係を持つ分析を行うことの是非についての考え方を記していおきたい。よく知られているように、主成分分析は多数の観測変数から少数の主成分(合成変数)を作り出す手法であり、観測変数が原因、主成分は結果であるのに対して、因子分析は観測変数に影響を与えている共通因子を抽出する方法であり、共通因子が原因で観測変数が結果となることから、両分析では因果関係が逆になるとされる。ここで観測変数は和音の出現頻度割合であるから、主成分分析では出現頻度割合によって和音がどのようにグルーピングできるかを示しており、因子分析では複数の和音の出現頻度割合に影響を与えている共通因子を仮定して、それぞれの共通因子が、どの和音の出現頻度割合にどれくらい寄与しているのかを示していることになる。従って、一般には、ある対象に対して分析を行い際には、どちらの分析を行うのが妥当であるかを検討すべきであると言われることが多いのだが、ここでの立場は、和音の出現頻度割合について、予めて特定の因果関係を前提とせずに、観点の違う分析を行って、結果を眺めることでマーラーの作品間の特徴の違いを探ることを目的としている。ちなみに因子分析においては変数がサンプル数よりも多い場合に問題が起こる場合があることが知られており、今回も実際に、交響曲について作品単位(サンプル数11)で40種類の和音の出現頻度割合を用いて因子分析を行おうとすると、相関行列のランク落ちが発生して、事前共通性の推定値に用いる重相関係数の2乗(SMC)が求めることができないため、作品単位の分析には因子分析は用いていない。同様の状況で主成分分析を行うことの是非については、主成分分析について記載した部分でコメントをしているので、そちらを参照されたい。

 C.階層クラスタリング:hclustを使用。(1)(2)の両方で実施。

  いずれもcomplete(デフォルト)、average、ward02の3種類の方式で計算。
  結果をデンドログラムでグラフ化。

4.分析結果の概要

以下では分析結果の概要を示すことを目的とし、結果の一部のみを示す。詳細については後述のアーカイブファイル中の結果を参照。

(1)ファイル単位の分析結果の概要

A.主成分分析

A-1-1.第1、第2主成分でプロット

A-1-2.作曲時期別に色分けをした結果:初期(第1~4)交響曲(赤)・中期(第5~7)交響曲(緑)・後期(第8~10と大地の歌)交響曲(水色)

A-1-3.作品別に色分けをした結果
凡例の略語は erde「大地の歌」、kwh「子供の魔法の角笛」、lfg「さすらう若者の歌」、rckrt「リュッケルト歌曲集」、sym[1-10]:交響曲第1~10番

A-2.第1主成分得点・負荷

得点のグラフの色と作品の対応は、左側から右側へ順番に以下の通りである。

 大地の歌(赤)・第1交響曲(緑)・第2交響曲(青)・第3交響曲(水色)・
 第4交響曲(紫)・第5交響曲(黄)・第6交響曲(灰色)・第7交響曲(黒)・
 第8交響曲(赤)・第9交響曲(緑)・第10交響曲(青)・
 さすらう若者の歌(水色)・リュッケルト歌曲集(紫)・子供の魔法の角笛(黄)


B.因子分析(斜交回転のみ、直交回転は略)

B-1.第1因子・第2因子でプロット

B-2.第1因子得点・負荷量


C.階層クラスタ分析
c-1.complete法

(2)交響曲の作品単位の分析結果の概要

A-a.主成分分析(スケーリングあり)

A-a-1-1.第1、第2主成分でプロット


A-a-1-2.第1、第2主成分でプロット:作曲時期で色分けした結果

初期(第1~4)交響曲(赤)・中期(第5~7)交響曲(緑)・後期(第8~10と大地の歌)交響曲(水色)

A-a-1-3.第2、第3主成分でプロット:作曲時期で色分けした結果


A-a-2.第2主成分得点・負荷

得点のグラフの色と作品の対応は、初期(第1~4)交響曲(赤)・中期(第5~7)交響曲(緑)・後期(第8~10と大地の歌)交響曲(水色)である。

A-b.主成分分析(スケーリングなし)

A-b-1-1.第1、第2主成分でプロット


A-b-1-2.第1、第2主成分でプロット:作曲時期で色分けした結果

初期(第1~4)交響曲(赤)・中期(第5~7)交響曲(緑)・後期(第8~10と大地の歌)交響曲(水色)



A-b-1-3.第2、第3主成分でプロット:作曲時期で色分けした結果


A-b-2.第2主成分得点・負荷

得点のグラフの色と作品の対応は、初期(第1~4)交響曲(赤)・中期(第5~7)交響曲(緑)・後期(第8~10と大地の歌)交響曲(水色)である。



C.階層クラスタ分析
c-1.complete法



5.アーカイブファイルに含まれるファイルの説明

(1)和音出現特徴分析_全拍_マーラー作品.zip
 (https://drive.google.com/file/d/1G-z4DESwO-qbClvMUP3AHi8Wdjd5erse/view?usp=sharing) の中には以下のファイルが含まれます。

(1-a)入力データ
 cfreqA.csv:分析対象の和音(コード)の出現割合(上位40種):分析対象のデータ
 cfreqA_all.csv:分析対象の和音(コード)の出現割合(131種全て)
 col_cfreqA.csv:対象作品の得点に関するbarplotにおける色指定
 class_cfreqA.csv:対象作品の作曲時期別分類ファイル
 hclass_cfreqA.csv:対象作品を作品別分類ファイル
   corresp_cfreqA.csv:生の頻度情報(上位40種)
   corresp_cfreqA_all.csv:生の頻度情報(131種全て)

(1-b)主成分分析系
 gg_prcomp[12,23,34,45,56,67].pdf:主成分分析結果(第1,2成分~第6,7成分・作曲時期別)のggbiplotグラフ
 gg_h_prcomp[12,23,34,45,56,67].pdf:主成分分析結果(第1,2成分~第6,7成分・作品別)のggbiplotグラフ
 prcomp.pdf:主成分分析結果のbiplotグラフ
 pr_score-[1-7].pdf:主成分得点のbarplotグラフ
 prcomp_PC[1-7].pdf:主成分負荷量のbarplotグラフ

(1-c)因子分析系
 (1-c-1)直交回転(varimax):因子数=5
  varimax.pdf:因子分析結果のbiplotグラフ
  vari_score-[1-5].pdf:因子得点のbarplotグラフ
  vari_load-[1-5].pdf:因子負荷量のbarplotグラフ
 (1-c-2)斜交回転(promax):因子数=5
  promax.pdf:因子分析結果のbiplotグラフ
  pro_score-[1-5].pdf:因子得点のbarplotグラフ
  pro_load-[1-5].pdf:因子負荷量のbarplotグラフ
 (1-c-3)相関行列の固有値
   eigen.pdf

(1-d)階層クラスタ分析系:
 hclust_complete.pdf:complete法での分類結果のデンドログラム
   hclust_average.pdf:average法での分類結果のデンドログラム
   hclust_wardD2.pdf:ward法での分類結果のデンドログラム
  
(1-e)分析履歴
  hist.txt:R言語を用いた分析履歴。各分析の数値的な結果を含む。

(2)和音出現特徴分析_全拍_マーラー交響曲.zip
 (https://drive.google.com/file/d/1m2jDEjnNE-j0gHd3t3hn85fgWSq3yDp_/view?usp=sharing) の中には以下のファイルが含まれます。

(2-a)入力データ
 cfreq9A.csv:分析対象の和音(コード)の出現割合(上位40種):分析対象のデータ
 cfreq9A_all.csv:分析対象の和音(コード)の出現割合(131種全て)
 col9_cfreqA.csv:対象作品の得点に関するbarplotにおける色指定
 class9_cfreqA.csv:対象作品の作曲時期別ラベル
   corresp9_cfreqA.csv:生の頻度情報(上位40種)
   corresp9_cfreqA_all.csv:生の頻度情報(131種全て)

(2-b)主成分分析系
 (2-b-1)スケーリングあり
 gg_prcomp[12,23,34,45,56,67].pdf:主成分分析結果(第1,2成分~第6,7成分・スケーリングあり)のggbiplotグラフ
 prcomp.pdf:主成分分析結果(スケーリングあり)のbiplotグラフ
 pr_score-[1-7].pdf:主成分得点(スケーリングあり)のbarplotグラフ
 prcomp_PC[1-7].pdf:主成分負荷量(スケーリングあり)のbarplotグラフ
 (2-b-2)スケーリングなし
 gg_prcomp_F_[12,23,34].pdf:主成分分析結果(第1,2成分~第3,4成分・スケーリングなし)のggbiplotグラフ
 prcomp_F.pdf:主成分分析結果(スケーリングなし)のbiplotグラフ
 pr_score-F_[1-4].pdf:主成分得点(スケーリングなし)のbarplotグラフ
 prcomp_F_PC[1-4].pdf:主成分負荷量(スケーリングなし)のbarplotグラフ

(2-c)因子分析系(なし)
  
(2-d)階層クラスタ分析系:
 hclust_complete.pdf:complete法での分類結果のデンドログラム
   hclust_average.pdf:average法での分類結果のデンドログラム
   hclust_wardD2.pdf:ward法での分類結果のデンドログラム
  
(2-e)分析履歴
  hist.txt:R言語を用いた分析履歴。各分析の数値的な結果を含む。

[ご利用にあたっての注意] 公開するデータは自由に利用頂いて構いません。あくまでも実験的な試みを公開するものであり、作成者は結果の正しさは保証しません。このデータを用いることによって発生する如何なるトラブルに対しても、作成者は責任を負いません。入力として利用させて頂いたMIDIファイルに起因する間違い、分析プログラムの不具合に起因する間違いなど、各種の間違いが含まれる可能性があることをご了承の上、ご利用ください。
(2021.7.22公開、7.23分析に関するコメント追記、7.24対象データの地形図を追加し、コメントを改訂、7.27第2、3主成分でのプロットを追加)

0 件のコメント:

コメントを投稿