終の住処を決めるプロジェクト

定年を意識して焦り始めた一家の主によるマイプロジェクトの記録

中学生の娘 お小遣い交渉に完全勝利!【0081】

期末テストで頑張って成績を上げた中学生の娘。そのかいあり、これまで500円だった月々のお小遣いが12月から1000円に上がることになりました。

tsumipro.hatenablog.com

しかし、ここへ来て娘がお小遣いに関する疑義を呈して来ました。疑義があるときは甲乙協議のもと調整することにしておりますので、週末はずっとその問題に取り組んでおりました。

 

娘の主張は以下の通り

  1. お小遣いの額は本来、合計点ではなく学年順位によって設定されている
  2. 1年生の間は学年順位が知らされていないが、各科目のおおよその順位はわかる
  3. そこから5科目合計学年順位を推定できるのではないか?
  4. そうすれば、お小遣い額はワンちゃん上がるはずである

私の主張は以下の通り

  1. 各科目の順位がわかっても、各科目の標準偏差も科目間相関もわからないから推定することは困難(計算めんどくさい)
  2. 順位がわからないときのために点数で割り付ける表も別途作成してあるので、今回もそちらに従うべきである
  3. (実は想定よりも学年平均点がだいぶ低いので、点数で額を設定した表を基準にした方がお小遣い額が低くなるのでありがたい)

 

しかし、粘り強く食い下がる娘。(なぜこういうときだけ粘り強いのか?)

「チャッピー使っていいから!」

「はいはい。しょーがないなーもう。」

 

ということで自分で計算する能力も気力もないのでChatGPT先生に聞きました。

 

手順(実務的・分かりやすい方法)

前提:各科目は同じ満点(例:100点)で等重み。学年の人数を Nとする。

  1. 順位 → パーセンタイルに変換
    各科目の学年順位 rrをパーセンタイル pp に変換します(上位ほど大きい値になる)。

    p=1r1N1p = 1 - \frac{r-1}{N-1}

    (※上位1位ならほぼ1、最下位ならほぼ0になります)

  2. パーセンタイル → 推定得点
    単純に満点を M(例100)とすると推定得点は

    S^=p×M\hat{S} = p \times M

    (より現実的には正規分布を仮定してパーセンタイル→ z 値→得点に変換する方法もあります)

  3. 5科目合計得点を出す
    各科目の推定得点を合計して T^\hat{T} を得ます(満点500点なら T^\hat{T}/500)。

  4. 合計得点の学年分布を仮定して順位を推定
    合計の母集団分布を正規で近似するのが実用的です。合計の平均 μT\mu_T標準偏差 σT\sigma_T を仮定(または過去データで推定)し、

    z=T^μTσTz = \frac{\hat{T}-\mu_T}{\sigma_T}

    正規分布の累積分布関数(CDF)を使って上位パーセンタイル P=Φ(z)を求め、
    推定順位 ≈上位人数=
    (1P)×N(1-P)\times N

面倒くさそう...

各科目の標準偏差はChatGPT先生の提案に従って15とすると、5科目合計の標準偏差

sqrt(5)*15≃33.54(ただし科目間の相関はゼロと仮定)だから、これと5科目学年平均点と学年人数を入力して、えーと、、、

■ 結果推定順位 ≒ 1位

 

 

はい!?

(そんなわけない。 こんな結果を娘に見せるわけにはいかない!)

 

これは各科目の標準偏差の仮定が合っていないに違いない。科目ごとに分布はバラバラだし、分布の広がりも大きいので。

 

もう一回、ChatGPT先生に相談です。

:各科目の10点刻みの人数分布データはあります。ここから各科目の標準偏差は概算できますか?

先生:はい。簡単です。データを入力してください。

:これでどうですか?

あ、画像を貼り付けたら先生が固まってしまった。無料時間は終了してしまいました。

 

(翌日)

:今度はテキストデータで入れますね。これでどうですか?

先生:各科目の標準偏差が出そろいました。

 

■ 各科目の標準偏差(SD)【確定値】

科目 標準偏差 SD
国語 17.39
社会 22.57
数学 26.09
理科 21.26
英語 22.74

 

あー、やっぱり15より全然大きい。ということは順位はもっと下がるはず(わくわく)。

 

先生:結果が出ました。

■ 1. 各科目の z 値を計算

各科目のデータ

(平均・SD はあなたの度数分布から計算した確定値)

科目 得点 平均 SD z値 = (得点−平均)/SD
国語 60 56.3 17.39 +0.212
社会 78 59.7 22.57 +0.813
理科 74 55.8 21.26 +0.858
数学 60 58.1 26.09 +0.073
英語 75 61.0 22.74 +0.615

■ 2. 合計得点の z 値を計算

科目間の相関が不明なため、独立と仮定(推定として一般的)

5科目合計の平均

μsum=56.3+59.7+55.8+58.1+61=290.9\mu_{\text{sum}} = 56.3+59.7+55.8+58.1+61 = 290.9

5科目合計の分散

σsum2=17.392+22.572+26.092+21.262+22.742\sigma_{\text{sum}}^2 = 17.39^2 + 22.57^2 + 26.09^2 + 21.26^2 + 22.74^2
=302.5+509.3+680.7+451.9+517.0=2461.4= 302.5 + 509.3 + 680.7 + 451.9 + 517.0 = 2461.4

SD(標準偏差

σsum=2461.4=49.61\sigma_{\text{sum}} = \sqrt{2461.4} = 49.61


■ 3. 合計点 347 の z 値

zsum=347290.949.61=1.127z_{\text{sum}} = \frac{347 - 290.9}{49.61} = 1.127


■ 4. z = 1.127 の累積確率(上位何%か)

標準正規分布より:

Φ(1.127)0.8703\Phi(1.127) \approx 0.8703

上位 12.97%(約上位13%)


■ 5. 学年 79 名中の推定順位

順位=(10.8703)×79\text{順位} = (1 - 0.8703) \times 79
=0.1297×79=10.24= 0.1297 \times 79 = 10.24


推定順位:およそ 10 位前後

(統計的推定:8〜13 位の範囲に入ると考えられます)


■まとめ

  • 合計得点 347 点

  • 合計 z = 1.127

  • 上位 約13%

  • 推定順位 約 10 位

 

はい!?

(そんなわけない。 こんな結果を娘に見せるわけにはいかない!)

 

やっぱり、この方法では駄目なのだ。最後に5科目合計の分布として正規分布を仮定してるから駄目なのだ。そうに違いない。

私の直感では347点はせいぜい40位くらいになるはずなのだ。

あまりにも私の実感と乖離しすぎているので、ChatGPT先生の順位推定は不採用です(AIはよく間違えるらしいですし)。

 

しかたないので、「これ以下にはならんだろう」という安全側で順位を推定します。

一例として、理科の10点刻み人数分布(娘は74点なので22位以上であると推定できる)

各科目の順位から5科目合計順位を安全側で推定


決めました。今回、娘の5科目合計順位は「44位以上」とします。実測データに基づく値なので良しとしましょう。

 

再検討の結果、12月からのお小遣いの額が修正されました!

 

:結果を発表します!

:はい!(わくわく)

:今回の順位は44位以上、従いまして月3000円を支給いたします!

:ひゃっほー!やったー!いぇーい!🎆🎆🎆 あ、このまえブログに「1000円」て書いてたでしょ。訂正しておいてっ!

:はい...

 

 

学年1位にでもなったかのような喜びよう

というわけでお小遣いの額は12月から3000円ということで本日めでたく支給されました。最新の試験結果もグラフ化して再掲しておきます。

ママにスマホ没収されたおかげで、今回は成績があがりましたね。