2021年の結果から見る、M1グランプリ攻略方法の分析

2024/04/10M1グランプリ,R,データ分析の活用,統計

はじめに

2021年12月20日、M1グランプリの決勝戦が放送されました。
1st Roundを10組で争い、得点の高かった3組が、最終決戦の舞台で争う形でした。

M1グランプリを攻略するための戦略を、基本統計量と簡単な分析から考えていきましょう。
今回は特に、1st Roundの結果から、有益な示唆を得る事を目的とします。

本記事の結論

・上沼恵美子の点数・評価は、あまり気にしなくてよい。

・キーパーソンは、松本人志とナイツ塙。彼らの得点を上げようとする事が重要。
 具体的には、 「定番の漫才で、後半にボケを増やしていく」 事が重要。
 オール巨人・サンド富澤 の点数も、狙う価値はある。

M1決勝戦 1stRound 審査結果

審査結果は、以下の通りであった。

以下では、統計ソフトのRを使って分析をしていきます。
コードを実行するは、以下のデータを “M1.csv" という名前で作業ディレクトリにcsv保存しておいてください。

データの読み込みと、使用するライブラリの読み込みは以下です。

library(dplyr); library(tidyverse); library(ggplot2); library(psych); library(GGally); library(reshape2)
data <- read.csv("M1.csv", skip=0, row.names=1)

以下では、浮かんだ疑問ごとに分析を進めていきます。

採点のばらつき(好き嫌い)が大きい審査員は誰か?

採点のばらつきが大きいという事は、好き嫌いが得点に表れやすいという事です。
そんな審査員がいるのであれば、嫌われた場合は点が小さいですし、好かれれば点を多くもらえるので、その人の評価を狙いにいった方が良いような気がします。

では、そんな審査員を確認してみましょう。

describe(data)
# 実行結果(一部略)
           vars  n  mean    sd median trimmed  mad min max range  skew
オール巨人    1 10  90.3  2.11   90.5   90.25 2.22  87  94     7  0.09
サンド富澤    2 10  91.5  1.96   91.0   91.38 1.48  89  95     6  0.48
ナイツ塙      3 10  92.0  1.83   92.0   92.00 1.48  89  95     6  0.00
立川志らく    4 10  93.1  2.81   94.0   93.25 2.97  89  96     7 -0.25
中川家礼二    5 10  93.1  2.77   94.0   93.25 2.22  89  96     7 -0.49
松本人志      6 10  91.2  2.78   91.5   91.12 2.97  87  96     9  0.09
上沼恵美子    7 10  93.4  3.53   93.5   93.50 4.45  88  98    10 -0.15
合計          8 10 644.6 11.29  641.5  644.12 9.64 628 665    37  0.32

見て頂きたい、ばらつきを示している変数は、sd(標準偏差)の列です。
これは得点のばらつきを示しており、値が大きいほうがばらつきが大きいです。
上沼恵美子のみ、ばらつきが極端に大変大きくなっている事が分かります。
彼女は、好き嫌いが非常に大きいという解釈になります。

なので、上沼恵美子に好かれるようなネタをやろう!!

…となってはいけません。
ここで重要なのは、本当に上沼恵美子の評価を狙いにいった方が良いのかどうか、です。

上沼恵美子が好き嫌いが激しい事はわかりましたが、
それが全体の傾向を反映していなければ、対策する価値はありません。
上沼恵美子の評価が低くても、他の審査員の合計がすべて高ければカバーできるからです。
上沼恵美子の得点が全体とどれだけ連動しているか、確認する必要がありそうです。

この部分は、次の章で見ていきます。

合計点の傾向と近い審査員はだれか?

合計点と動きが似る人がいるなら、その人の点数は多角的視点からお笑いをまとめ上げた指標の可能性があります。そうであればその人は、総合的な評価とコメントをするキーマンとなるでしょう。キーマンを特定するべく、合計点との相関を見ていきます。

GGallyというパッケージを使っていますが、こちらについては以前記事にしているので、そちらをご覧ください。

ggpairs(data)

これを見ると、合計点と相関が特に高いのは、松本人志・ナイツ塙・オール巨人、である事が分かります。彼らの得点は合計点と連動している傾向があるので、この3人の得点を狙いに行く事で、高得点を狙えるのではないでしょうか。

彼らのコメントをまとめると、
松本人志は、「後半に向けて盛り上がる、確実にポイントを取るやり方」を好み、
ナイツ塙は、「ボケとツッコミがきっちりしている、定番の漫才」を好み、
オール巨人は、「定番の漫才」を好む
事が分かりました。
(言語処理などではなく、ピックアップしてまとめています。)

合計点を上げるには、「定番の漫才で、後半にボケを増やしていく。」という点を重視するのが良さそうです。

試しに、3人の合計点を見てみます。

data3 = data[,cbind("オール巨人", "ナイツ塙", "松本人志")]
apply(data3,1,sum)
# 実行結果
      もぐらいだー       ランジャタイ         ゆにばーす           ハライチ       真空ジェシカ         オズワルド ロングコートダディ 
               272                264                268                269                272                285                273 
              錦鯉     インディアンス               もも 
               280                278                274 

松本人志・ナイツ塙・オール巨人 の3人の得点の合計順位が高い3組は、
オズワルド、錦鯉、インディアンス
となっており、これは最終決戦に進んだ3組と一致している事が分かります。
(全員の合計点と相関が高い3人なので、当たり前ではありますが…)

また、先程の、 「上沼恵美子の評価を狙いにいった方が良いのかどうか 」という疑問についてです。

上沼恵美子と立川志らくは、合計点との相関が小さい事がわかります。
2名の得点は合計点とはあまり連動していないので、この2名の評価は重視しなくて良さそうだという事が分かります。

前章では、上沼恵美子は好き嫌いが激しい事がわかっており、
評価を重視した方が良いのかとも思いましたが、気にしなくて良いのですね。

評価が似ている審査員はいるのか?

ここでは、審査員をクラスタリングして特徴を読み取ってみます。
(主成分分析だと、審査員をまとめる(圧縮する)事になるので、特定の審査員への対策を検討する事が難しそうだと考えました。)

クラスタリング手法は今回の主眼ではないので、簡単のため k-meansを用います。
クラスタ数は、エルボー法で決定します。(エルボープロットの表示は省略します。)

# 合計点を削除し、審査員をサンプルとして捉える
data_sample = t(data[,-8])

# スクリープロットの表示. 見やすさのため、クラスタ数2~6で表示させています. 
wss <- (nrow(data_sample)-1) * sum(apply(data_sample,2,var))
for(i in 2:6){
  wss[i] <-sum(kmeans(data_sample,centers=i)$withinss)
}
plot(1:6, wss, type="b", xlab="Number of Clusters", ylab="Within groups sum of squares")

# クラスタ数は3に決定し、クラスタリングを実行
set.seed(0)
result <- kmeans(x=data_sample, centers=3)               # kmeans(x:データ, centers:クラスター数)
result$cluster
# 実行結果
オール巨人 サンド富澤   ナイツ塙 立川志らく 中川家礼二   松本人志 上沼恵美子 
         2          2          2          3          3          2          1 

クラスタリングの結果、

クラスタ1:上沼恵美子
クラスタ2:オール巨人・サンド富澤・ナイツ塙・松本人志
クラスタ3:立川志らく・中川家礼二

という結果となりました。(クラスタ番号に意味はありません。)

合計点と相関が高かった、 松本人志・ナイツ塙・オール巨人 の3人は同じクラスタに属している事が分かります。
やはり、彼らの評価を狙って「定番の漫才で、後半にボケを増やしていく。」 戦略は、高得点を狙えそうです。
同クラスタにはサンドウィッチマン富澤もいるので、彼の評価も狙って良いでしょう。

最後に、各クラスタの審査員の、評価点の平均値を見てみましょう。
コードは少し長いですが…

data_withCluster = data.frame(data_sample, cluster = result$cluster)
colnames(data_withCluster)[1:10] = data$`チーム名`

hiplot = function(data_withCluster) {
  data1 = data_withCluster %>% filter(cluster == 1) %>% apply(2, mean)
  data2 = data_withCluster %>% filter(cluster == 2) %>% apply(2, mean) 
  data3 = data_withCluster %>% filter(cluster == 3) %>% apply(2, mean)
  meanbycluster = rbind(data1, data2, data3) %>% as.data.frame()
  name_meanbycluster = colnames(meanbycluster)
  data_withCluster_gg = meanbycluster %>% melt(id.vars = 'cluster')
  data_withCluster_gg$cluster = data_withCluster_gg$cluster %>% as.factor()
  fig_result = ggplot(data_withCluster_gg, aes(x = variable, y = value)) + 
    geom_point(aes(col = cluster)) + 
    geom_line(aes(col = cluster, group = cluster)) + 
    theme_gray(base_family = "HiraKakuPro-W3") + 
    labs(x = '', y = '')
  return(fig_result)
}
hiplot(data_withCluster = data_withCluster)

もう一度、クラスタの内訳を書いておきます。

クラスタ 1:上沼恵美子
クラスタ2:オール巨人・サンド富澤・ナイツ塙・松本人志
クラスタ3:立川志らく・中川家礼二

グラフからも、上沼恵美子の採点が他のクラスタの動きと離れている事が分かりますね(笑)
彼女の評価は無視してよいでしょう。

結論

最初に挙げた結論を再掲します。

・上沼恵美子の点数・評価は、あまり気にしなくてよい。

・キーパーソンは、松本人志とナイツ塙。彼らの得点を上げようとする事が重要。
 具体的には、 「定番の漫才で、後半にボケを増やしていく」 事が重要。
 オール巨人・サンド富澤 の点数も、狙う価値はある。

ただ、これらは2021年の分析から得られた示唆であり、全ての年で同じ事が言えるとは限りません。
(この分析だけだと、過学習してしまう可能性があります。)

今後の課題

別の年の分析

別の年の傾向も見る事で、結果の信頼性が高まります。

また、審査員の評価基準の時系列的な推移もあるかもしれません。
例えば、「松本さんは近年、定番の漫才を好むようになっている傾向がある」などです。

潜在成長曲線モデルを使えば、該当年の傾向と時系列的な傾向をどちらも読み取れるので、やってみたいです。

2021年の分析では上沼恵美子さんを軽視してしまいましたが、別の年は重要人物だったかも…

「前半と後半は、後半の方が点数が高くなりやすいのでは?」という仮説の検証

こちらも分析したかったのですが、適切な分析手法が分からず、分析できませんでした。
前後半で2つに分けて t検定をやると、後半の点数が有意に高かったですが、後半に実力のあるチームが集まっていただけの可能性もあります。

過去のグランプリも含めて同一得点だったチームをすべて集めて、前後半のどちらにいる傾向があったかを見るなどで因果推論的な検証ができるのでしょうか…?

詳しい方いらっしゃれば、コメント頂けますと幸いです。

追記

M1の分析は毎年やってます。こちらから見てみてください。

Follow me!