新シリーズ第22回 トレンドを可視化するコーホート分析

統計学の初心者が引っ掛かりそうな罠や、普通の実務書にはあまり書かれていないコツをとりあげる新シリーズ。今回は、トレンドを可視化する「コーホート分析」です。

やさしい統計学講座 ~教えて朝野先生~

R&D技術顧問 朝野熙彦

第22回 トレンドを可視化するコーホート分析

Q.コーホート分析はトレンドを可視化する方法だと聞いています。社内には消費行動の時系列データがあって年齢別のブレイクダウンもとれています。けれどもコーホート分析の計算法が分からないので困っています。どうしたらよいのでしょうか。

A.(朝野先生)コーホート分析はこれまでいくつもの解法が提唱されています。しかし消費者行動によっては仮定に疑問のあることもありますし、実装が複雑になるという悩みもありました。私が提案するのは一般逆行列の利用というごくシンプルな解法です。

■ 育児への重視が高まる

 コーホート分析は年齢別時系列データの変動を年齢と時代とコーホートの3要因に分解する方法です。そのモデルは年齢・時代・コーホートの頭文字をとってAPCモデル(Age-Period-Cohort model)と呼ばれます。
 コーホートという概念は、共通した社会環境のもとで生まれ育った人間集団は、いつまでも固有の価値感と行動パターンを持ち続けるだろう、というものです。バブル世代とかゆとり世代などと呼ばれるのがコーホートの例です。コーホートは出生年によって識別することができます。
 表1に年齢と時系列が同一間隔で並んでいる標準コーホート表を示しました。リサーチ・アンド・ディベロプメントによる定期調査データです。この表の左上から右下の斜め方向に同一のコーホートに属するデータが並んでいます。セルに色をつけた1990年に20代だった人は2000年には30代になっているはずですから同一のコーホートに属します。結局、表1は7つのコーホートからなるデータといえます。

20-29歳 30-39歳 40-49歳 50-59歳 60-69歳
1990年 21.2 45.9 32.9 22.0 21.8
2000年 24.8 54.0 41.9 26.9 25.5
2010年 34.1 53.0 49.4 33.0 29.5

表1「余暇は家族との団らん・家事・育児に使いたい」(YESの比率)

 朝野による方法でAPCの効果を推定した結果が図1です。ここではパラメータを要因ごとに平均偏差化しています。また誕生年でコーホートを標示しました。「余暇は家族との団らん・家事・育児に使いたい」という家庭志向は20歳代から30歳代になると増加します。これは20歳代では独身者が多く、30歳代で既婚者が増えることを考えれば納得がいくでしょう。その後、家庭重視の意識は50歳代までは年齢とともに下がっていきます。しかし定年を迎える60歳代になると、あらためて家庭をかえりみるようになると解釈されます。時代効果については21世紀に入ってから家庭志向が高まってきました。大臣も育児休暇をとる時代です。
 コーホート効果では昭和6年から25年生まれの世代が、家族の団らんをあまり重視していないという結果が出ています。この世代は戦中から戦後にかけて食べるのが精いっぱいの生活を経験した世代です。一方で昭和56年~平成2年生まれのコーホートは家庭生活をより重視しています。

図1 コーホート分析の結果(出所:朝野,2012)

図2 APC3要因の寄与率(出所:朝野,2012)

 今回のデータについては、要因A、P、Cのウェイト構成は図2のようになります。表1のデータに始まり図1と図2の数値を出すまでの計算手順を朝野(2012)が示しています。理屈は分かったが自分で計算するのは面倒だという人は、データ分析の経験が豊富な会社に相談するとよいでしょう。もちろんリサーチ・アンド・ディベロプメントも経験豊富です。

■ 通常の重回帰分析では解が求まらない

 表2は表1の各セルにコーホート番号1~7を書き込んだもので、これを見れば、データ間に制約があることが分かります。何かというと、3つの要因は独立ではなく、そのうち2つを指定すれば残り1つの区分が何になるかが決まってしまうという「一次従属」の関係です。

20-29歳 30-39歳 40-49歳 50-59歳 60-69歳
1990年 5 4 3 2 1
2000年 6 5 4 3 2
2010年 7 6 5 4 3

表2 コーホートの番号

 標準コーホート表のパラメータの構造は①式の通りです。①にしたがって標準コーホート表の各セルを記述したデザイン行列をX、調査データを分析用に加工したベクトルをy、パラメータベクトルをb、誤差ベクトルをeとすると、コーホート分析の構造モデルは②の通りになります。

 Xの列が一次従属なのでX’Xの逆行列が求められません。この状況を正則でないとかランク落ちしている、と表現します。そのため正規方程式が解けないのです。ムーアペンローズ(Moore-Penrose)の一般逆行列Gを使えば、Xが一次従属であっても③式でパラメータが推定できます。

 コーホート分析はSAS, Mathematica, R, Pythonなど行列計算ができるプログラムならどれでもコーディングできます。たとえばSAS で③をコードすると b=ginv(X)*y という1行で計算が済みます。
 それではあまりにも簡単すぎて信じられないかもしれませんが、これは(GXGy)と同じ計算であることを次に述べます。

■ ムーアペンローズの一般逆行列

 最後は数学的な話なので難しければ飛ばして結構です。ムーアペンローズの一般逆行列G (m行n列)とは、任意の行列X (n行m列)について次の4条件をすべて満たす行列として定義されます。

 GXの特異値分解から求められることを柳井・竹内(1983,123頁)が示しています。

 ④によるGが条件(ⅰ)~(ⅳ)を満たすことは数値例で容易に確かめられます。
 このように一般逆行列を用いることでAPC3要因のパラメータが推定できます。ムーアペンローズの逆行列から得られるbは誤差の二乗和(e,e)が最小になる解の中でノルムbが最小になります。その証明はハーヴィル(訳書210頁)などにあります。そのためムーアペンローズの一般逆行列を用いた解は「最小二乗最小ノルム解」と呼ばれるのです。これも大切なことですがGは一意に定まり不定ではありません。
 自分が利用している分析プログラムに一般逆行列の関数が入っていれば、直接Gを出力して③に代入すれば済みます。ここで④式を示したのは、一般逆行列の関数がない場合でも特異値分解で解けること、そして一般逆行列と特異値分解が数学的につながっていることを示したかったからです。

【今回のまとめ】

  • 時系列データの全体の数字だけを追っていても、時代とともに年齢構成が変わるのですから単純に昔と比べられません。コーホート分析によって変動の背景にある構造の変化を追うことができます。
  • 標準コーホート表のデータは重回帰分析では解けません。普通なら重回帰分析を諦めるか説明変数のどれかを諦めることになります。しかしコーホート分析は、APCモデルを前提にしてパラメータを推定したいのですから、解けないからといって諦めるわけにはいきません。
  • 一般逆行列の関数が使えない場合でも特異値分解から一般逆行列が計算できます。トレンド分析という表舞台を支える裏方として一般逆行列が働くことができ、さらにそれを特異値分解が支えるという構図が興味深いと思います。

■ 引用文献

  • Harville,D.A.(1997) ”Matrix Algebra from a Statistician’s Perspective”,Springer-Verlag.
     (伊理正夫監訳(2007)「統計のための行列代数 下」 シュプリンガー・ジャパン)
  • 朝野熙彦(2012)「マーケティング・リサーチ」講談社
  • 柳井晴夫・竹内啓(1983)「射影行列・一般逆行列・特異値分解」東京大学出版会

2020年3月31日

《朝野煕彦教授 プロフィール》

1969年 千葉大学文理学部卒業後、マーケティング・リサーチの実務を経て、1980年埼玉大学大学院修了。筑波大学特別研究員、専修大学、東京都立大学教授、多摩大学および中央大学客員教授を歴任。学習院マネジメントスクール顧問。日本マーケティング学会監事。「入門多変量解析の実際」「ビジネスマンがはじめて学ぶベイズ統計学」「マーケティング・リサーチ プロになるための7つのヒント」「ビッグデータの使い方・活かし方」「アンケート調査入門」「マーケティング・サイエンスのトップランナーたち」など著書多数。
株式会社リサーチ・アンド・ディベロプメント技術顧問。

朝野煕彦