質問<3448>2006//
1.正規母集団N(μ,σ^2)から大きさ5の標本値が
10.5,11.0,11.2,12.5,12.8,であった。 ①σ^2=0.81(機知)として、母平均μを信頼度 95%で推定せよ。 ②σ^2が未知のとき、母平均μを信頼度 95%で推定せよ。 2.ある政党Aの全国支持率は36%であるという。 ある選挙区から128人無作為抽出してしらべた ところ政党Aの支持者が39人いた。この選挙区の 政党Aの支持率は全国並といえるか危険度5% で検定せよ。 3.ある道路のA地点で30秒ごとに通る自動車の台数を 観測したところ、次の結果を得た。 通過台数 0 1 2 3 4 5 6 7 計 観測度数10 13 11 30 13 16 6 1 100 ①平均値Xバーを求めよ。 ②通過台数Xは平均Xバーのポアソン分布に従うといえるか危険度 1%で検定せよ。
以上よろしくご指導を。 ★希望★完全解答★
お便り2006/10/30
from=亀田馬志
う~ん・・・・・申し訳ありませんが、この質問の仕方は 「問題丸投げ」 のニオイがプンプンします。 と言うのも、教科書を調べれば分かる基礎的な問題までも含まれているので、「やる気」をまるで 感じられません。要するに「公式的に」当てはめれば済む問題が含まれているので、単に「答えが 知りたいだけではないか?」と解釈されるのです。これは宜しくありません。 従って、回答も「丸投げ」にします。コンピュータに解かせる事にしましょう。 検定に付いて基本的な事は質問<2506>や質問<3251>辺りにも記述しているので、 少なくとも「過去ログを調べて」くらいはして下さい。 今回はフリーの統計解析ソフトRを用いてみましょう。 フリーの統計解析ソフトRをクリックしてパソコン上にインストールして下さい。 <1> ①これ位は基本中の基本です。教科書を参照して解いてみましょう。 ②では実際フリーの統計解析ソフトRを起動して下さい。 フリーの統計解析ソフトRを起動したら、左上の「ファイル」メニューから「新しいスクリプト」を開きます。そうすると フリーの統計解析ソフトR専用のエディタが開きます。 そこに次のように記述します。(ここからコピペしても結構です) x <- c(10.5, 11.0, 11.2, 12.5, 12.8) #問題のデータ入力。データ名をxとした。 #c()にデータを入れる。<-は代入と言う意味。(半角で) t.test(x, mu=10) #t検定用関数。muはどんな数でもいい。 この2行を記入します。#以降はコメントと言って、計算には直接関係ありません。 さて、この2行をエディタに書き込んだ後、その2行をマウスで選択、そして右クリックで 「カーソル行またはRコードを実行」を選べば、R本体(Rconsole)の方に計算結果がズラズラ出てきます。 その中で、 95 percent confidence interval: と書いてある部分の下に出てる二つの数字が答えです。 なお、confidence intervalと言うのは、英語で「信頼区間」の事です。 <2> <1>と同様にエディタに次のように記述して実行して下さい。 binom.test(39, 128, p=0.36, alternative="two.sided", conf.level=0.95) binom.testと言う関数は、その名の通り「二項分布」を使った検定用の関数です。 binom.test(成功数, 試行総数, 対象とする確率, 検定形式, 信頼係数) の順序で入力します。対象とする確率は今回は36%なので0.36、両側検定なんでalternative="two.sided"と なり、信頼係数が0.95となっています。 さて、これを実行するとまたズラズラと計算結果が出てきますが、注目すべきはp-valueと書かれた部分です。 これが0.05より小さければ「この選挙区の政党Aの支持率は全国のと差がある」、大きければ「差がないとは 言えない」です。 どの道、「全国並みである」とは統計的には断定できないので、ヘンな問題と言えばヘンな問題です。 <3> この問題は群馬大学の青木先生の力を借りましょう。 この問題を簡易に解いてくれるフリーの統計解析ソフトRの関数は存在しないようなので。 取りあえず理論的な事は青木先生のこのページに記述されています。 単純に言うと、これはカイ二乗検定、と言われるものの一種です。 ではエディタに青木先生の作られたpoissondist関数をコピペしましょう。 以下の部分です。 poissondist <- function(d) { k1 <- (k <- length(d))-1 n <- sum(d) x <- 0:k1 lambda <- sum(d*x)/sum(d) result <- c(n, lambda) names(result) <- c("n", "lambda") p <- exp(-lambda)*lambda^x/c(1, cumprod(1:k1)) p[k] <- 1-sum(p[-k]) e <- n*p table <- cbind(x, d, p, e) rownames(table) <- paste("c-", 0:k1, sep="") while (e[1] < 1) { d[2] <- d[2]+d[1] e[2] <- e[2]+e[1] x <- d[-1] e <- e[-1] k <- k-1 } while (e[k] < 1) { d[k-1] <- d[k-1]+d[k] e[k-1] <- e[k-1]+e[k] x <- d[-k] e <- e[-k] k <- k-1 } chisq <- sum((x-e)^2/e) k <- k-2 p <- pchisq(chisq, k, lower=FALSE) result2 <- c("chi sq."=chisq, "d.f."=k, "P value"=p) list(result=result, table=table, result2=result2) } 取りあえずここまでを一回エディタで実行します。 その後に次のように入力してまた実行しましょう。 d <- c(10, 13, 11, 30, 13, 16, 6, 1) #問題のデータをdとして入力。 poissondist(d) #青木先生作の関数を引数dとして実行。 これを実行すればまたズラズラと計算結果が出てきます。 ①$resultの項目のlambdaの下の数字が答えです。 ②計算結果の最後に出てくる「Pvalue」の下の数値に注目です。これが0.01以下だったら 「ポアソン分布に従っていない」、0.01以上だったら「ポアソン分布に従っていないとは言えない」です。 どの道、統計学的には「ポアソン分布に従っている」と言う結論を下す事が出来ないのは2と同じです。 以上です。 (※代入を表す<-の記号はすべて半角です。HTML言語の都合上全角で表記しました。管理人談)
お便り2006/10/31
from=ゆりえ
亀田様 問題丸投げでごめんなさい。他の質問及び解答例を参考に 基本から勉強してみます。今後ともよろしく御願い致します。