ヒストグラムや確率密度関数(確率分布のグラフ)は起こりやすさを表しています。
山の高いところは起こりやすく、山の低いところは起こりにくいところです。
ざっくりと表現すると、
・平均を中心に左右標準偏差
2つ分に95%が入ると考えるのが統計的推測、
・標準偏差
2つ分より中心から離れることはあり得ない(5%しかない)と考えるのが統計的検定です。
(正確な数値は以下に記述します)
推定や検定は、数学モデルに当てはめることで可能になります。
ガウスは、平均 \(\mu\) 分散 \(\sigma^2\) である確率変数
Xの確率密度関数が、
\(X\sim
N(\mu,\sigma^2):f(x)=\dfrac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2}}\)
に当てはることが多いことを発見しました。
特に、平均 0 分散 1 であるとき標準正規分布といい、確率変数
Zの確率密度関数は、
\(Z\sim
N(0,1)~~:~f(z)=\dfrac{1}{\sqrt{2\pi}}e^{-\frac{z^2}{2}}\)
となり、確率を求める数表「標準正規分布表」が与えられています。
(平均 0 分散 1
でないときは、変数変換すると標準正規分布表を利用できます)
p74にあるように、推定と検定は確率変数についての理論ですが、本質は同じで視点が違っているだけです。
まず、推定の復習から入りましょう。
アイスクリームの重さ
あるアイスクリーム屋さんのアイスの重さは、平均50g、標準偏差3gの正規分布に従います。
あなたは大のアイス好きで、毎日欠かさず買いに行っています。
今日あなたが買うアイスの重さを確率95%で推定しましょう。
ざっくり言えば、
平均が50だから予測値は50(点推定といいます)
平均を中心に標準偏差2つの幅に収まる確率が95%なので、
44から56の範囲(確率95%の区間推定といいます)
もう少し練習しましょう。
よく冷える冷蔵庫
あるメーカーの冷蔵庫10000台について冷蔵庫内の温度zを調査したところ、平均μ=0、標準偏差σ=1であった。
今度、自分でそのメーカーの冷蔵庫を買うことになったが、自分の買う冷蔵庫の庫内温度zについて、次の確率を求めよ。
(標準正規分布表を利用)
\(P(z<0)\)
\(P(z<0)=P(z<0)=0.5\)
\(P(z>2)\)
\(P(z>2)=0.5-P(0<z<2)=0.5-0.47725=0.02275\)
\(P(|z|<1.96)\)
\(P(|z|<1.96)=2P(0<z<1.96)=2*0.475=0.95\)
冒頭で「標準偏差2つ分」と書きましたが、正確には
・平均を中心に左右標準偏差 標準偏差
1.96個分に95%が入ると考えるのが統計的推測、
・標準偏差 標準偏差
1.96個分より中心から離れることはあり得ない(5%しかない)と考えるのが統計的検定です。
以降、95%の推定では「1.96個分」を用いてください。
平均 0 、分散 1 でないときは、標準化という変数変換を行います。
\(z=\dfrac{x-\mu}{\sigma}\)
はXの確率密度関数のグラフを、
平均が 0 になるように平行移動し、
x軸方向へ(0を中心に)\(\sigma\)
分の1に縮小する変換です。(標準化といいます)
例えば、
平均3 標準偏差2 の正規分布 \(X\sim N(3,~2^2)\) (黒色グラフ)は、
\((X-3)\) で、 \((X-3)\sim N(0,~2^2)\) 平均0 標準偏差
2のグラフ(緑色グラフ)に移動し、
\(Z=\dfrac{X-3}{2}\) で、 \(Z=\dfrac{X-3}{2}\sim N (0,1)\) 標準正規分布(赤色グラフ)に圧縮されます。
curve(dnorm(x, 0, 1),xlim=c(-6, 8.5),ylim=c(0, 0.4), col=2,xaxp=c(-6,7,13))
curve(dnorm(x, 3, 2),xlim=c(-2, 7.5), add=T)
curve(dnorm(x, 0, 2),xlim=c(-5, 4.5), col=3,add=T)
赤のグラフが標準正規分布で、黒のグラフを x軸方向にー3 平行移動し、x軸方向に0.5倍に縮小したものであることが分かります。
タイ焼くんの体重
ある店のタイ焼の重さは、平均μ=102、標準偏差σ=4.6であるという。
この店からタイ焼を100個買ってきたとき、105gから110gのタイ焼は、何個ぐらいはいっているだろうか。
(解)
\(105<x<110\)
とすると、
\(3<x-102<8\) \(\therefore
~~\dfrac{3}{4.6}<\dfrac{x-102}{4.6}<\dfrac{8}{4.6}\)
\(\begin{split}
P(0.652<Z<1.739)&=P(0<Z<1.739)-P(0<Z<0.652)\\
&=0.45907-0.24215\\&=0.21692
\end{split}\)
よって、22個くらい入っている。
自動車の燃費
あるメーカーの自動車の燃費は、平均12㎞/ℓ、標準偏差2㎞/ℓであった。
こんどそのメーカーの自動車を購入することになったが、燃費が15㎞/ℓ以上である確率を求めよ。
(解)
\(x>15\) とすると、
\(x-12>3\) \(\therefore \dfrac{x-12}{2}>1.5\)
\(P(Z>1.5)=0.5-P(0<Z<1.5)=0.5-0.43319=0.0668\)
確率は、約7%である。
人数の推計
10000人の学生について身長を調べたところ、平均152㎝、標準偏差4㎝であった。
身長148〜155㎝の学生数を推計せよ。 (解)
\(148<x<155\) とすると、
\(-4<x-152<3\) \(\therefore
~~\dfrac{-4}{4}<\dfrac{x-152}{4}<\dfrac{3}{4}\)
\(\begin{split}
P(-1<Z<0.75)&=P(0<Z<0.75)+P(0<Z<1)\\
&=0.27337+0.34134\\&=0.61471
\end{split}\)
10000人の中では、約6147人と推定される。
病院にあるかたが受診に来られました。
「先生、どうも血圧が高いようなんですが。」
その患者さんはデーターを整理することが好きで、毎日自分の血圧を測っています。
「私の血圧(最高血圧)は、平均120、標準偏差8の正規分布なんですが。」
患者さんは、そのデーターとヒストグラムを見せてくれました。
先生はさっそく血圧を測ってみました。
血圧140です。
先生は、すぐ緊急入院するように勧めました。
しかし、その患者さんは、
「血圧は、日によって変動するものです。少し高いからといって、なにも入院する必要はないのではありませんか。」
あなたなら、患者さんをどう説得するでしょうか?
患者さんが統計学を勉強していることを思い出した先生は、こんな説明を思いつきました。
あなたの血圧が140を超える確率はどのくらいか知っていますか?
それは、この図の赤の棒の部分で、確率2%なのですよ。
確率2%でしか起こらないことが、今、あなたの身体に起きているのですよ。
患者さんは、事態の重大さに気がついて、入院することを納得しました。
先生の説明を整理してみましょう。
患者さんの血圧は140でした。
だから、血圧が140である確率は100%であるはずです。
だって、今、測ったのですから!
そもそも、起きてしまったことの確率を考えたって仕方のないことです。
先生は、ある仮説のうえで説明していることに気付いたでしょうか。
【仮説】身体はいつもどおり健康だ。
この前提で血圧を測るとしたら、140を越える確率は2%だというのです。
この仮説のもとでは、真ん中の山の高い部分、血圧120前後がもっとも起こりやすいのです。
血圧140なんて、アンビリーバブル!
緊急事態と考えるべきです。
このとき、140という結果は、有意であるといいます。
つまり、ここまできたら偶然ではすまされない。
なんらかの原因が考えられる。
なんらかの意味のある結果だということです。
P値
中央の平均に近いところは起こりやすく、偶然差の範囲と考えます。
中央からはずれたところは起こりにくく、特別なことが起こっていると考えます。
偶然を越えた意味のある差ということで、有意差の範囲といいます。
確率分布は平均を中心に山型の形をしており、平均から離れるほど確率は小さくなります。
確率変数
Xがある値aを出力したとき、その値よりも平均から離れる確率をP値といいます。
P値が小さいほど、その値は平均から離れており、起こりにくいことが起きていることになります。
棄却域
平均から離れた、起こることがあり得ない(確率の小さい)範囲を棄却域といいます。
あり得ない確率を有意水準といい、通常は5%に取ります。
両側検定では左右に2.5%ずつ、
右側検定では右側に5%、左側検定では、左側に5%
棄却域を設けます。(p77参照)
標本平均を確率変数と見て、母平均と異なるかを検定します。
血圧の高い患者さんが、再度来院しました。
「毎日、血圧を測っていますが、やはり平均が120で標準偏差が8です。
血圧が高いような気がするので、ここ4日間、血圧を測っています。
平均血圧は、132でした。このあいだほどではないですよね。」
先生は、緊急入院を命じました。
「えっ、このあいだは140だったから仕方ないとしても、今回は130じゃありませんか。どうして入院なんですか?」
先生は、こう説明しました。
一回の測定の標準偏差が8なら、
4回測定して平均する場合の標準偏差は、\(\dfrac{8}{\sqrt{4}}=\dfrac{8}{2}=4\)
なのです。
何回かの測定の平均は、あまり動かないはずなのです。
ですから、ほんのすこし右にずれても、有意差の範囲になるのです。
整理してみましょう。
データXの平均がμ、標準偏差がσであるとき、
\(z=\dfrac{x-\mu}{\sigma}\)
は、平均が0、標準偏差が1になります。
zについては、詳しい表が用意されており、偶然差と有意差を隔てる境界は、
右側では、z=1.64485です。
検査の結果が偶然差の範囲か有意差の範囲かは、標準化してz値を求めてみればよいのです。
患者さんの血圧が、平均120標準偏差8の正規分布という仮説のもとで、
1回検査をするという確率変数Xを考えると、
Xは平均120標準偏差8の正規分布に従い、
\(z=\dfrac{x-120}{8}\) は、平均0標準偏差1の標準正規分布に従います。
1回の検査で X=132 ならば、z=1.5
これは偶然差の範囲です。
4回検査をするという確率変数 \(\bar{X}\) を考えると、
\(\bar{X}\)は、平均120標準偏差4の正規分布に従い、
\(z=\dfrac{x-120}{4}\) は、平均0標準偏差1の標準正規分布に従います。
4回の検査で \(\bar{X}=132\)ならば、z=3
これは有意差の範囲です。
[整理]
あなたがする検査は、確率変数です。
あなたが検査をするとき考えるべきことは次のことです。
どんな検定でも、この考え方に変わりはありません。 もし有意差の範囲まで行っていれば、なにかが起こっていると判断することになります。
検定はきわめて慎重な判断の方法である。
最近あなたには気になる人がいる。彼もあなたのことを好いていてくれそうなのだが、内気なあなたには告白する勇気がない。今日もあの人と目があった。彼も私のことを好きなのかもしれない。
内気な彼女は統計学の検定に頼ることにした。
一日に彼と目の合う回数をXとしよう。
最近の回数を数えてみると、X=12,8,10,,,,う~ん、やっぱ気がありそうに思えるのだが、、、
しかし、冷静な彼女は心にもない仮説を立てた。
[仮説]彼は私のことをなんとも思っていない。
この心にもない仮説のことを帰無仮説という。
友達全部に調査したところ、一日に彼と目の合う回数は、
平均 \(\mu=6\)、標準偏差 \(\sigma=2\) であった。
グラフにすると次のようになる。
.
「わたしはだいたい10回だから、、、」.
やっぱり彼は、私に気があるのかも?
ちょっと待って頂きたい。X=10というけれども、それは偶然のことかもしれないではないか。
X=10 というのは、偶然を越えた意味のある差なのだろうか?
そこで確率5%の範囲を右側に設定し、その範囲に入れば偶然を越えた意味のある差(有意差)と考える。
この基準をを有意水準という。(今の場合 5%).
標準化を利用して、 \(P(X > 10)\)
を計算してみよう。
(計算)
\(P(X > 10)= 0.023\) は5%よりも小さいから、X=10は偶然を越えた有意な(意味のある)差であると判断できる。
帰無仮説 「彼は私のことをなんとも思っていない」.
は、本人の希望通り棄却(廃棄)され、「やっぱり、彼は私のこと好きなんだ!」 ということになる。
この彼女がたどり着きたかった結論.
「やっぱり、彼は私のこと好きなんだ!」を 対立仮説
という。
確率変数 \(X\) を検定の対象とし、母分散が分かっている場合は話が簡単です。(目の合う回数の例など)
これが、この章の目的です。
少し難しくなりますが、簡単な例から始めます。
駅前のハンバーガー店のフライドポテトを買うと「135g」と表示されています。
家へ持ち帰ってデジタルはかりで計測すると 120g でした。
花子さんは「135g」という表示に疑問を持ち、調査のためさらに9個、合計10個を買って重さを調べたところ
120g | 124g | 126g | 130g | 130g | 131g | 132g | 133g | 134g | 140g |
となりました。
「135g」という表示は適性と言えるか、統計的仮説検定を行ってみましょう。
帰無仮説:駅前のハンバーガー店のフライドポテトの重量は公表値の「135g」である。
確率変数はフライドポテトの重さXです。
Xの分散 \(\sigma^2\)
が分かっているかどうかで方法は変わります。
<Xの分散が分かっているとき>
\(\sigma^2=36\) とします。
平均 \(\mu=135\)
と仮説を立てているので
\(X\sim N(135,6^2)\)
10個のまとめ買いモードで得られる標本平均 \(\bar{X}=\dfrac{X_1+X_2+\cdots+X_{10}}{10}\)
は確率変数で
\(\bar{X}\sim
N\left(135,\dfrac{6^2}{10}\right)\)
今、ボタンをまとめ買いモードで1回押しました。
袋に入って出てきたのが
{120g 124g 126g 130g 130g 131g 132g 133g 134g 140g}
レシートには \(\bar{X}=130\)
と記載されています。
この値は、どれだけ平均から離れているでしょうか?
離れすぎていれば、帰無仮説は疑わしいと考えるのが検定です。
Z値は、平均から標準偏差いくつぶん離れているかを表す数値で、
\(Z=\dfrac{130-135}{\frac{6}{\sqrt{10}}}=-2.64\)
平均から標準偏差2.64個分、左に離れていることになります。
両側検定では、左右に標準偏差2.64個以上離れる確率をP値と考えます。
標準正規分布表から検定統計量2.64に対応する値を確認すると(0.5-0.49585)=0.00415、
両側検定では2倍した値がP値となるので0.0083がP値となります。
この値は
0.05よりも小さいことから、起こり得ないことが起きたと考えます。
即ち、帰無仮説は疑わしいと考え、棄却します。
しかし、現実には母分散\(\sigma^2\)
が分かっていることはありません。
そこで考えられたのが 母分散を標本の不偏分散で代用する方法です。
<Xの分散が分かっていないとき>
まとめ買いモードの自販機から得られた
{120g 124g 126g 130g 130g 131g 132g 133g 134g 140g}
から計算した不偏分散は
\(s^2=\dfrac{1}{n-1}
\sum^{n}_{i=1}(x_{i}-\bar{x})^{2}= \dfrac{1}{10-1}\{ ( 120-135)^{2} + (
124-135)^{2}+ \cdots + ( 140-135)^{2} \}=31.33\)
不偏分散の平方根は、\(s=\sqrt{31.33}=5.59\)
これを母標準偏差\(\sigma\)の推定値として用います。
(10で割って計算する標本分散は小さめに出てしまうので、不偏分散が用いられます)
\(\bar{X}\sim
N\left(\mu,\dfrac{\sigma^2}{n}\right)\) なので、標本平均 \(\bar{X}\) の母分散は\(\dfrac{\sigma^2}{n}\) 母標準偏差は
\(\dfrac{\sigma}{\sqrt{n}}\)
\(Z=\dfrac{\bar{X}-\mu}{\frac{\sigma}{\sqrt{n}}}\sim
N(0,1)\) 標準正規分布に従います。
現実には \(\sigma\)
は分からないので、標本の不偏分散から計算した \(s\) で代用したとき、
\(t=\dfrac{\bar{X}-\mu}{\frac{s}{\sqrt{n}}}\) は標準正規分布に似た分布に従います。
これをt分布といいます。 \(\frac{s}{\sqrt{n}}\) は、\(\bar{X}\)
の標準偏差の推定値で、標準誤差といいます。
注意.
一般に、推定値の標準偏差を標準誤差(SE)といいます。
母平均の推定値である \(\bar{X}\)
の標準偏差は標準誤差ということになります。
として区別しているものもあります。岩手大学参照.
t分布と標準誤差
X の標準偏差は \(\sigma\) 、\(\bar{X}\) の標準偏差は \(\frac{\sigma}{\sqrt{n}}\)
不偏分散で代用した\(\bar{X}\)
の標準偏差
\(SE=\dfrac{s }{\sqrt{n}}=\dfrac{\sqrt{
\dfrac{1}{n-1} \sum^{n}_{i=1}(x_{i}-\bar{x})^{2}} }{\sqrt{n}}\)
標準誤差(standard error)
標準誤差は\(\bar{X}\)
の標準偏差の推定値ということになります。
標準誤差は不偏分散で代用した標本平均\(\bar{X}\) の標準偏差であり、
標準誤差で標準化するとt値になり、その分布がt分布です。
n個の標本から求めた不偏分散は、(n-1)で割っているので自由度は(n-1)です。
(自由度については別の機会に説明します)
t値は自由度の影響を受け、自由度によって山型グラフの広がりかたが変わります。
t分布についても数表が用意されており、有意水準に対する境界値を調べることができます。
フライドポテトの例では、
\(t=\dfrac{130-135}{\frac{5.59}{\sqrt{10}}}=-2.82\)
t分布表の自由度9の有意水準0.025の境界は2.262 であり、-2.82
は境界値より離れているので、
両側検定のP値は 0.05 より小さくなります。
よって、「フライドポテトの重さは135g」は棄却されます。
例題11よりも扱いやすいので、こちらを先にします。
\(X\sim N(133.3,5.2^2)\).
\(\bar{X}\sim
N\left(133.3,\dfrac{5.2^2}{100}\right)\).
a <- 134.3
a
## [1] 134.3
curve(dnorm(x,133.3,5.2),xlim=c(120,150),ylim=c(0,0.8))
curve(dnorm(x,133.3,5.2/sqrt(100)),xlim=c(120,150),
col="pink",add=T)
abline(v=a,col="blue")
標準化して計算. テキストは四捨五入によって計算がずれています。
\(Z=\dfrac{134.3-133.3}{\frac{5.2}{\sqrt{100}}}=1.92\)
curve(dnorm(x,0,1),xlim=c(-3,3),ylim=c(0,0.5))
b <- (a-133.3)/((5.2)/sqrt(100))
b
## [1] 1.923077
abline(v=b,col="red")
A <- c(6.27,6.30,6.11,6.20,6.32)
a <- mean(A)
a
## [1] 6.24
var(A)
## [1] 0.00735
t <- (a-6.29)/sqrt(var(A)/5)
t
## [1] -1.304101
curve(dt(x, 4),xlim=c(-3,3))
abline(v=t,col="red")
四捨五入によって結果が変わる問題なので、あまり適切とは言えません。初めは、飛ばしておいて構いません。
### (1).
\(X\sim N(3.55,0.015^2)\).
\(\bar{X}\sim
N\left(3.55,\dfrac{0.015^2}{8}\right)\).
A <- c(3.56,3.53,3.52,3.52,3.54,3.55,3.56,3.52)
a <- mean(A)
a
## [1] 3.5375
curve(dnorm(x,3.55,0.015),xlim=c(3.45,3.65),ylim=c(0,50))
curve(dnorm(x,3.55,0.015/sqrt(8)),xlim=c(3.45,3.65),
col="pink",add=T)
abline(v=a,col="blue")
標準化して計算. テキストは四捨五入によって計算がずれています。
\(Z=\dfrac{3.5375-3.55}{\frac{0.015}{\sqrt{8}}}=-2.357023\)
curve(dnorm(x,0,1),xlim=c(-3,3),ylim=c(0,0.5))
b <- (a-3.55)/((0.015)/sqrt(8))
b
## [1] -2.357023
abline(v=b,col="red")
A <- c(590,650,620,585,615)
a <- mean(A)
a
## [1] 612
var(A)
## [1] 682.5
t <- (a-640)/sqrt(var(A)/5)
t
## [1] -2.396579
curve(dt(x, 4),xlim=c(-3,3))
abline(v=t,col="red")
次に、r での検定の結果を示します。
標準誤差 SE は rでも計算でき、1.77 です。
library(plotrix) #計算のためのパッケージ
x <- c(120,124,126,130,130,131,132,133,134,140)
std.error(x) #標準誤差
## [1] 1.770122
平均が135かどうかのt検定は次のコードで実行されます。
x <- c(120,124,126,130,130,131,132,133,134,140)
t.test(x, mu=135)
##
## One Sample t-test
##
## data: x
## t = -2.8247, df = 9, p-value = 0.01989
## alternative hypothesis: true mean is not equal to 135
## 95 percent confidence interval:
## 125.9957 134.0043
## sample estimates:
## mean of x
## 130
[結果の見方]
one sampleは、{120g 124g 126g 130g 130g 131g 132g 133g 134g
140g}
このサンプルの平均は130ですが、それをもとに「母集団平均が135と異なる」かどうか検定します。
仮説として「母集団平均が135のままである」とします。(帰無仮説)
本当に言いたいことは、 alternative hypothesis: true mean is not
equal to 135(135と異なること)です。
まとめ買い自販機からの one sampleの平均130
は確率的に起こりうるものでしょうか?
one
sampleの平均130が、135から標準偏差いくつ分離れているかで判断します。
\(\bar{X}\)
の標準偏差は母標準偏差\(\sigma\)が既知ならば \(\frac{\sigma}{\sqrt{10}}\)ですが、分からないので標準誤差\(SE\)で代用します。
one sampleの平均が135から標準誤差\(SE\)いくつ分離れているか計算した値がt値です。
t =
-2.8247より、標準誤差2.8247個分、左に離れており、それ以上離れる確率は両側で
p-value = 0.01989です。
t分布の自由度9の段を見ると、右側0.025の有意点は 2.262 、即ち、SE
2.262個以上右に離れる確率は 0.025
平均から右にSE 2.262個の点を計算すると、\(130+2.262*SE=130+2.262*1.77\fallingdotseq134\)
平均から左にSE 2.262個の点を計算すると、\(130-2.262*SE=130-2.262*1.77\fallingdotseq126\)
95 percent confidence interval:(126 ,
134)(区間推定と言います)
点推定値は、sample estimates: mean of x = 130
どうでしょうか。
計算はパソコンがやってくれますが、結果の解釈は簡単ではありません。
特に、標準誤差は難しい概念なので、練習を通してじっくり学んでください。
東北大学
池田郁男先生の資料を参考に上げておきます。
今は難しくても、将来きっと役に立つことと思います。
標準正規分布とt分布は、どのくらい違うのでしょうか?
par(family = "HiraKakuProN-W3")
curve(dnorm(x, 0, 1),xlim=c(-5, 5),ylim=c(0, 0.4), col=2,xaxp=c(-6,7,13))
curve(dt(x, 9),xlim=c(-5, 5),col=3, add=T)
legend( "topleft",legend=c("標準正規分布","t分布"), col=c("red","green"),lty=c(1,1))
t分布の方が少し広がった分布であることが分かります。
棄却域(有意差の範囲)はどうでしょうか。
自由度9のt分布の両側5%棄却域
#グラフ
xseq <- seq(-5, 5,length=100)
plot(xseq, dt(xseq, 9),type="l")
p <- seq(-5, -2.262, length=100)
y <- dt(p, 9)
polygon(c(p,rev(p)), c(rep(0,length(p)), rev(y)), col="skyblue")
p <- seq(2.262, 5, length=100)
y <- dt(p, 9)
polygon(c(p,rev(p)), c(rep(0,length(p)), rev(y)), col="skyblue")
境界点は 2.26 です。
標準正規分布の両側 5% 棄却域
#グラフ
xseq <- seq(-5, 5,length=100)
plot(xseq, dnorm(xseq, 0, 1),type="l")
p <- seq(-5, -1.96, length=100)
y <- dnorm(p, 0, 1)
polygon(c(p,rev(p)), c(rep(0,length(p)), rev(y)), col="skyblue")
p <- seq(1.96, 5, length=100)
y <- dnorm(p, 0, 1)
polygon(c(p,rev(p)), c(rep(0,length(p)), rev(y)), col="skyblue")
境界点は 1.96 です。
X = c()
s <- rmultinom(n=100, size = 10, prob = c(0.5,0.5))
for (i in 1:100) {
res <- chisq.test(s[,i], p = c(0.5,0.5))
rs <- res$ statistic
X <-c(X,rs)
}
hist(X)
検定方法は妥当か?
消費者危険と生産者危険