中央値の大小関係について
n個のデータがあるとき、データの中央値 m を以下のように定義します。
中央値=
小さい方から (n+1)/2 個目のデータ 〔nは奇数〕
小さい方から n/2 個目のデータと n/2+1 個目のデータの平均 〔nは偶数〕
次にn個のデータを n1個とn2個のデータに分割(n1+n2=n)し、
n1個のデータの中央値を m1
n2個のデータの中央値を m2
とします。
このとき、
m1<m かつ m2<m
となることは有り得るのでしょうか?
某プログラム言語を使ってデータ分析をしていたところ上記のような結果が発生しました。
直感的にはないと思うのですが。プログラムミスでしょうか?よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> このとき、
> m1<m かつ m2<m
> となることは有り得るのでしょうか?
あり得ないと思います。
n個のデータの「m未満の値のデータの集合」をL、
「m以上の値のデータの集合」をHとおきます。
中央値の求め方を考えると、
Lの要素数 < Hの要素数 … (*)
となる事が分かると思います。
ここでデータを、m1 < mかつm2 < mが成り立つように、
n1個のグループとn2個のグループに分割する事を考えます。
[方法1]
n1個のデータの方の中央値m1をmより小さくしたければ、
まず「Lからk個、Hからk個未満のデータを選ぶ」という方法が思い浮かびます。
こうすればとりあえずm1 < mが実現できます。
ここで選ばなかったデータ群が、
もうひとつのデータのグループ(n2個のデータのグループ)となります。
n1個のデータを選ぶ時に、HよりもLから多めにデータをとってしまっていました。
この事と(*)式より、n2個のデータのグループには
「Hの要素」が「Lの要素」より多く含まれることが分かります。
つまりこの時、n2個のデータのグループの中央値m2はmより大きくなってしまいます。
よって
「n1個のデータを選ぶときはLからk個、Hからk個未満のデータを選ぶ」
という方法ではm1 < mかつm2 < mは実現できません。
同様の理由で、
「n2個のデータを選ぶときはLからk個、Hからk個未満のデータを選ぶ」
という方法でもm1 < mかつm2 < mは実現できません。
[方法2]
[方法1]より、m1 < mかつm2 < mを実現するためには
「n1個のデータを選ぶ時はLからk個、Hからk個のデータを選ぶ」
「n2個のデータを選ぶ時はLから(n/2)-k個、Hから(n/2)-k個のデータを選ぶ」
という選択肢しか残されていません。
この時総データ数は偶数となるため、中央値mは
(max(L) + min(H)) / 2
で計算されます。
n1個のデータ総数は2k個なので、やはりデータ数は偶数個となります。
よってn1の中央値m1は
m1 = ((Lから選んだk個のデータの最大値) + (Hから選んだk個のデータの最小値))/2
で計算することになります。
ここでm1 < mが実現できるようにn1個のデータを選ぶ事を考えてください。
そのためにはLからk個要素を取ってくるときに、
max(L)未満の値のデータのみを選ぶ必要があります
(逆にmax(L)の値を持つデータをLから選んでしまうと、
m1 < mとならない事がすぐ分かると思います)。
しかしそうするとn2個のデータを選ぶ際、
Lからデータを選ぶ時に必ずmax(L)の値をもつデータを選ぶ事になります。
なのでm2 < mが実現できなくなります。
よってどんな方法でデータを分割しても
m1 < mかつm2 < mが成り立つ事はあり得ないと思います。
No.4
- 回答日時:
質問者様のプログラムの中で、浮動小数点型データを使っていないでしょうか?
ANo.1様、ANo.2様のとおり、「m1<m、m2<m」はあり得ませんが、「m1<m、m2<=m」はあり得ます。浮動小数点型では、数学的にm2 = mであっても、プログラムがm2 < mと判定することがよく起きるのです。これは、浮動小数点型が、原則として誤差を伴っているためです。
なお、10進法表記で誤差がないように見える数値でも、コンピュータ内部には2進法で格納されるため、実際は誤差が発生している場合が多いことに注意する必要があります。
次のBasicプログラムを見てください。
Function Test() As String
Dim X As Single 'Xは、単精度浮動小数点型(32ビット)
Dim i As Integer
X = 1
For i = 1 To 3 '0.1を3回加える
X = X + 0.1
Next i
If X < 1.3 Then
Test = "X < 1.3"
ElseIf X = 1.3 Then
Test = "X = 1.3"
ElseIf X > 1.3 Then
Test = "X > 1.3"
End If
End Function
X = 1.3 のはずですが、私のパソコンでは、X > 1.3 という答が返ってきます。
VBA例までを示していただきありがとうございます。
プログラムで誤差を極小化した数値計算を行うことは難しいのですね。
そこらへんの知識も知っておかなければとは思っているのですが、なかなか…
No.3
- 回答日時:
ANo.1ですが訂正です
(誤) Lの要素数 < Hの要素数 … (*)
(正) Lの要素数 ≦ Hの要素数 … (*)
それから方法2を使おうとしてできるのは
(Lの要素数) = (Hの要素数)の時のみです。
(Lの要素数) < (Hの要素数)の時は
「n1個のデータを選ぶ時はLからk個、Hからk個のデータを選ぶ」
という事はできます。
しかしn2個のデータを選ぶ時、LとHから同じ個数のデータを取ることができません。
かならずHの方から多めにデータを取ります(式(*)より)。
なのでこの場合、m2 < mを満たす事ができないことが分かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 t値の計算方法 1 2022/11/29 18:37
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 1 2023/01/31 18:53
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 5 2023/01/31 23:35
- Excel(エクセル) Excelの中央値の複数条件について 3 2022/05/24 21:22
- 婚活 20歳から65歳まで約56万人の正社員の年収のデータを取ったところ男性の中央値が400万円 平均が4 4 2023/05/19 09:41
- 統計学 風速を1秒刻みで推定する方法 6 2023/03/03 11:58
- 統計学 統計学、エクセルがわかりません!解答と詳しい解説をお願いします! (1)それぞれの地域別に記述統計量 9 2022/08/21 16:30
- 数学 【 数I 分散 】 3 2023/02/26 21:55
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アイドルの写真について
-
「未使用」と「不使用」ってど...
-
ネットカフェから、メールでき...
-
ファイザーやモデルナは当時は...
-
Excelの“並び替え”で文字コード...
-
3Dプリンターを使う場合 パソコ...
-
スマホアプリのトラッキング 個...
-
エクセルのグラフのデータ系列...
-
PCの内蔵メモリにデータは残る?
-
ワードの差し込み印刷のデータ...
-
Excel Webクエリ
-
独身男性は既婚男性よりも不健...
-
高速フーリエ変換でデータ数が...
-
職務質問で聞かれたデータはど...
-
相関行列作成時の数字以外のデ...
-
データ用HDDの別のPCへの乗せ替え
-
差し込み印刷がうまくできません
-
排他的論理和の問題
-
カノニカル通信と非カノニカル...
-
SSDのフオーマットについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「未使用」と「不使用」ってど...
-
PCの内蔵メモリにデータは残る?
-
日本通信の当月利用データ量は...
-
高速フーリエ変換でデータ数が...
-
3Dプリンターを使う場合 パソコ...
-
ネットカフェから、メールでき...
-
Excel Webクエリ
-
パレート図等で「N=100」とあ...
-
データeSIMのこと
-
XMLデータってなんですか?
-
Excelの“並び替え”で文字コード...
-
エクセルのグラフのデータ系列...
-
職務質問で聞かれたデータはど...
-
プロ野球の球団別の残塁数を載...
-
データ用HDDの別のPCへの乗せ替え
-
データのレプリカってなんですか?
-
2年ほど放置したあつ森を再開す...
-
差し込み印刷がうまくできません
-
エクセルで縦に並んだデータを...
-
ワードの差し込み印刷のデータ...
おすすめ情報