こんにちは、学びの探求者です。
普段は note で活動しています。
2025年のQiitaアドベントカレンダーでは、
「ノーコード/ローコードで、自分のコンテンツ基盤を自動化していく」
をテーマに、25日間の仕組みづくりを記録していきます。
ぜひ、応援してください。
昨日の Day10 では、WEST. のライブデータから
- age(曲の年齢)
- live_rate(年数で補正したライブ登場頻度)
- decay(時間補正)
- LPI(Live Popularity Index)
を計算し、
曲ごとの “ライブ登場のしやすさ” を数値化するところまで到達しました。
しかし…LPI をソートしてみたら「ん?」となる問題が発生
Day10 の LPI をスプレッドシートでソートしたところ、
「新しい曲が強すぎる」「逆に古い人気曲が弱く見える」
という現象が起きました。
なんとなく違和感がある理由は大きく3つです。
1. 新曲が “不自然に高評価” になりやすい
新曲は「age が 1 年」なので
live_rate = live_count / age
で計算すると、
- データ不足で振れやすい
- 1 度歌われただけで高スコアになりがち
- “本当の人気” を反映しづらい
という弱点があります。
2. 代表曲・定番曲が LPI では評価しきれないことがある
例えば WEST. で言えば
- ええじゃないか(デビュー曲)
- ズンドコパラダイス
- 証拠
- 人生は素晴らしい
など、ファンの間で「これは絶対やる」という曲があります。
しかし、LPI はあくまで過去データの比率なので、
- ツアー構造
- メドレー構成
- テーマ性
などを反映しきれません。
3. 「ライブの文脈」が数値に入っていない
実際のライブは
- 明るい曲 → 盛り上げ → しっとり → MC → ダンス曲 → 本編終盤
- 新曲は発売直後のツアーで優遇される
- メドレーでしか歌わない曲もある
- メンバーのソロ曲が入ることもある
など、ストーリー性があります。
LPI 単体では、この “文脈” を捕まえることができません。
Day11 のテーマ:補正パラメータの「設計」をする
今日は数式は書きません。
Day11 は、
データ × ドメイン知識(WEST.のライブ傾向)をどう組み合わせて予測モデルにするか?
を考える日にします。
そこで、まずは補正パラメータ案を一覧化しました。
補正パラメータ案(Day12で実装予定)
| 補正名 | 内容 | 目的 |
|---|---|---|
| hit_bonus | シングル A 面は係数 1.3、カップリングは 1.05 | 代表曲を強化 |
| tour_theme_weight | ツアー構成(明るい曲、ダンス、しっとり)を踏まえる | 文脈を反映 |
| new_song_penalty | age が 1〜2 年の曲に「過剰補正」を防ぐため低め係数を適用 | 新曲の暴れを抑える |
| classic_bonus | デビュー〜3年以内の曲にプラス補正 | 初期曲の強さを反映 |
| album_tie_in | アルバム楽曲に「登場しやすさ」を加算 | アルバムツアーの特性 |
| unit_song_weight | ソロ・ユニット曲の登場頻度を調整 | ソロ曲は本数が少ない |
| mood_weight | 明るい / バラード / ダンス曲の傾向を分類 | セトリ全体の流れを反映 |
| recency_weight | 最近のツアーで歌われていたかどうか | “今のWEST.” らしさ反映 |
これらの補正を掛け合わせることで、
base_score(= LPI) × 各種パラメータ = 最終予測スコア
という “予測モデルの心臓部” ができます。
補正パラメータは「かけ算」が基本
掛け算にする理由は:
- 曲ごとに “重み付け” がしやすい
- 係数を調整するだけで柔軟にチューニングできる
- 学習っぽいことにも応用しやすい
ためです。
Day11 まとめ
今日やったこと:
- LPI をそのまま使うと起こる問題を整理した
- WEST. のライブの特徴から補正パラメータを企画した
- Day12 で実際に数式として実装する準備ができた!
今日は「考える日」。
明日からはいよいよ
“曲ごとの最終スコア(予測スコア)” を作る実装フェーズ に入ります。
Day12 予告(めちゃ楽しみ)
- hit_bonus の計算列を追加
- new_song_penalty の数式を作る
- mood_weight を VLOOKUP で管理する
- 補正後スコア(pred_score)を計算する
- LPI → pred_score の変化を比較する
明日のアウトプットは
「あ、予測モデルっぽくなってきた!」 という瞬間になるはずです。
頑張ります💪
