2023年12月4日月曜日

MIDIファイルを入力とした分析:状態遷移パターンの出現確率分布の比較(3)マーラーの交響曲間の比較(続報)

 1.はじめに

 記事:MIDIファイルを入力とした分析:状態遷移パターンの出現確率分布の比較において、マーラーの交響曲全体の状態遷移パターンの出現確率分布と、各作品の状態遷移パターンの出現確率分布との比較を行った結果を報告しました。2つの確率分布の比較の方法としては、カルバック・ライブラー・ダイバージェンスと相互情報量の2つを用い、更に参考として、状態遷移パターンの出現確率のエントロピーについて全体と各作品とを比較した結果も報告した他、カルバック・ライブラー・ダイバージェンスと相互情報量を計算するために用意した状態遷移パターンの出現確率分布を表すベクトル自体を特徴量としてクラスタリングを行った結果を併せて報告しました。ここでは上記記事の続報として、上記記事では深さ0および1(つまり和音(ピッチクラスの集合)単独の出願確率および和音の遷移(和音(ピッチクラスの集合)の単純な前・後の2つ組)の出現確率)のみを報告したのに対して、深さ2~5までを含めた全体を報告します。本記事でこれまで一連の記事で報告してきた和音の状態遷移パターンについての集計・分析の報告は一区切りとなるため、参考として、既に報告済の内容の再掲になりますが、状態遷移確率分布のエントロピー、マルコフ過程としてみた場合のエントロピーの計算結果、前回記事で報告した内容も含めて再掲し、本記事のみで一覧できるようにします。一方、計算結果に対するコメントはこれまでの報告同様行わずに、集計・分析条件の説明と結果の報告のみを行うこととし、別にこれまでの一連の集計・分析を通じてわかったことや、やってみて気づいたこと、感じたことに関する記事を起こす予定です。

2.集計・分析の条件

2.1. カルバック・ライブラー・ダイバージェンスおよび相互情報量の計算(追加あり)

 上掲記事におけるのと同様、単音・重音は対象外(cdnz3)/移置・転回を区別しない(pcl)条件で、今回は各拍(A)毎に抽出した和音パターンの系列のみを対象としました。計算対象となる状態は、既報の深さ0(和音=ピッチクラスの集合のパターン)と深さ1(和音=ピッチクラスの集合の状態遷移パターン、単純マルコフ過程の状態遷移パターンに相当)に加え、深さ2~5も含めました。

 計算にあたっては上掲記事におけるのと同様、従来から用いてきたR言語にあるエントロピー計算用のライブラリ(entropy)をRstudio上で使用しました。R言語のバージョンは4.3.1です。entropyライブラリにはカルバック・ライブラー・ダイバージェンスと相互情報量を計算するプラグインが用意されています(それぞれKL.pluginとmi.plugin)ので、それを利用して計算を行いました。既述の通り、特にカルバック・ライブラー・ダイバージェンスは、所謂「距離」の公理を満たしておらず非可換ですが、ここでは個別の作品における確率分布を分子側、交響曲全体における確率分布を分母側として計算を行っています。つまりKLD(P||Q)とした時、P:各曲、Q:全体です。(交響曲全体で出現するパターン(Q側)が個別の作品(P側)で出現しない、つまり確率0であることはありえるが、その逆はないため。逆向きの計算では分母が0になり、値が無限大になってしまいます。)なお、交差エントロピーは今回の報告内容では割愛しましたが、これは各曲のエントロピーとカルバック・ライブラー・ダイバージェンスから求めることができます。(即ち、H(P, Q) = H(P) + KLD(P||Q))

2.2. 各交響曲の状態パターンの出現確率のエントロピー・交響曲全体の状態パターンの出現確率のエントロピーとの差分・マルコフ過程としてのエントロピー(再掲)

 冒頭述べたように、前回の記事で報告済の個別の作品における状態パターンの出現確率のエントロピーと交響曲全体の状態パターンの出現確率のエントロピーとの差分の計算結果(深さ0~5)を再掲します。交響曲全体の状態パターンの出現確率のエントロピーが各交響曲の状態パターンの出現確率のエントロピーよりも大きければプラス、小さければマイナスの値を取るように計算しています。今回の報告では差分だけではなく、元データである状態パターンの出現確率のエントロピーの計算結果(各交響曲と交響曲全体)も参考までに示します。同様にマルコフ過程としてのエントロピーの計算結果も再掲しますが、これは既に過去の記事で報告済の通り、状態遷移マトリクスから計算される定常状態が、深さが大きくなると収束してしまう傾向が見うけられたことから、単純マルコフ過程(深さ1に相当)、二重マルコフ過程(深さ2に相当)のみの計算結果です。

2.3. 状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング(追加あり)

 従来から用いてきたR言語を用い、R言語の階層クラスタリング関数hclustで、complete法により計算を行いました。今回の分析の特徴として、各作品の状態遷移パターンの出現確率分布のベクトル(m1~m10)に加えて、交響曲全体の状態遷移パターンの出現確率分布のベクトル(all)も含めてクラスタリングを行うことで、全体と各作品の距離が視覚的に確認できるようにしてみました。既報の深さ0と深さに加え、深さ2~5も含めました。


3.集計・分析結果

3.1.カルバック・ライブラー・ダイバージェンスおよび相互情報量の計算結果(KLD(P||Q)とした時、P:各曲、Q:全体)

(A)カルバック・ライブラー・ダイバージェンス(各交響曲、対・交響曲全体)


(B)相互情報量(各交響曲、対・交響曲全体)

(参考1)出現確率エントロピー(各交響曲および交響曲全体)

(参考2)出現確率エントロピーの差分(Q-P、但しP:各交響曲、Q:交響曲全体)
※後期作品の深さ0の差分がマイナスになっている点に注意。第8交響曲はわずかにプラスだがほぼ0でした。

(参考3)マルコフ過程としてのエントロピー(各交響曲および交響曲全体、深さ=0:単純マルコフ過程、深さ=1:二重マルコフ過程のみ)
※交響曲全体(all)の二重マルコフ過程の状態遷移マトリクスから定常状態を計算すると収束するため、交響曲全体(all)の二重マルコフ過程エントロピーは1になっています。


3.2. 状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(各交響曲および交響曲全体)

(A)深さ=0

(B)深さ=1

(C)深さ=2

(D)深さ=3

(E)深さ=4

(F)深さ=5


[付録]ダウンロード可能なアーカイブファイルgm_sym_A_KLD_MI_cdnz3_pcl_v2.zipの中には以下のファイルが含まれます。

  • 入力ファイル(各交響曲および交響曲全体について)
    • gm_A_prob_all.csv:和音パターン出現確率(深さ0):値のみ
    • gm_A_prob2_all.csv:状態遷移パターン出現確率(深さ1):値のみ
    • gm_A_prob3_all.csv:状態遷移パターン出現確率(深さ2):値のみ
    • gm_A_prob4_all.csv:状態遷移パターン出現確率(深さ3):値のみ
    • gm_A_prob5_all.csv:状態遷移パターン出現確率(深さ4):値のみ
    • gm_A_prob6_all.csv:状態遷移パターン出現確率(深さ5):値のみ
    • gm_A_frq_all.csv:和音パターン出現頻度(深さ0):パターンラベル付き
    • gm_A_frq2_all.csv:状態遷移パターン出現頻度(深さ1):パターンラベル付き
    • gm_A_frq3_all.csv:状態遷移パターン出現頻度(深さ2):パターンラベル付き
    • gm_A_frq4_all.csv:状態遷移パターン出現頻度(深さ3):パターンラベル付き
    • gm_A_frq5_all.csv:状態遷移パターン出現頻度(深さ4):パターンラベル付き
    • gm_A_frq6_all.csv:状態遷移パターン出現頻度(深さ5):パターンラベル付き
  • 結果ファイル(各交響曲および交響曲全体について)
    • hist.txt:R言語の実行ログ
    • 画像ファイル
      • KLD.jpg:カルバック・ライブラー・ダイバージェンス(対・全体)
      • MI.jpg:相互情報量(対・全体)
      • pattern-entropy.jpg:状態遷移確率のエントロピー
      • pattern-entropy_diff.jpg:状態遷移確率のエントロピーの差分(対・全体)
      • hclust_complete_prob_all.jpg:状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(深さ=0)
      • hclust_complete_prob2_all.jpg:状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(深さ=1)
      • hclust_complete_prob3_all.jpg:状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(深さ=2)
      • hclust_complete_prob4_all.jpg:状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(深さ=3)
      • hclust_complete_prob5_all.jpg:状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(深さ=4)
      • hclust_complete_prob6_all.jpg:状態遷移パターンの出現確率分布を表すベクトルによるクラスタリング結果(深さ=5)
    • gm_A_pcl_KL_MI_summary.xlsx
      • 状態(パターン)の出現確率(深さ0~5)
      • 対全交響曲の出現確率エントロピー差分(深さ0~5):(Q-P、但しP:各曲、Q:全体)
      • 単純マルコフ過程、二重マルコフ過程としてのエントロピー
      • 対全交響曲のカルバック・ライブラー・ダイバージェンス(深さ0~5):(KLD(P||Q)とした時、P:各曲、Q:全体)
      • 対全交響曲の相互情報量(深さ0~5)

(2023.12.4)

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


0 件のコメント:

コメントを投稿