親子におすすめの新型プラネタリウムとは?

今回、業務で初めて回帰直線を扱うことになりました。

大昔に最小二乗法で回帰直線を描くプログラムを書いたのですが、今回はお客様より最尤法を適用できませんか?と言われています。
インターネットで調べてみたのですが、中々思うような情報を得ることが出来ません。

最尤法で回帰直線の傾きと切片を求める方法又は、プログラムが説明されているwebサイトや書籍はありませんでしょうか?
ちなみに、最尤法自身もあまり理解できていませんので、こちらの参考文献も教えていただけるとうれしいです。
統計については、初心者ですので、的外れであればご指摘ください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

最尤法とは最も尤もらしいパラメータを求める方法です。


尤もらしい度合いを尤度といい、確率分布で表します。

簡単な例で、正規分布の場合

p=Aexp((f(x)-y)^2/2σ)
 Aは規格化定数、σは分散 f(x)は回帰式

あるyが与えられた時、その値が尤もらしいためには
回帰式f(x)のパラメータはなんですか?ということです。

与えられたデータの尤度が最大になるようにパラメータ
を計算しますが、通常は対数を取って対数尤度を最大化
します。この対数尤度は

 Σlog(p)=Σlog(A)-Σ(f(x)-y)^2/2σ
 Σはデータに対して取る

となり、定数項を除き、σが一定(データに依存しない)とすると
これを最大化するのは第二項を最小化することになり、通常の
最小二乗法と同じになります。

正規分布以外の場合にはこの限りではありません。これは
想定している確率分布に依存します。正規の場合には線形方程式
として解けますが通常は非線形の最適化を行ないます。

参考サイトを以下に挙げて起きます
http://hosho.ees.hokudai.ac.jp/~kubo/ce/Introduc …
http://www.is.titech.ac.jp/~shimo/class/doc/lec2 …
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc …

最尤法 回帰でググレば他にも色々でてきますよ。
    • good
    • 0
この回答へのお礼

goma_2000さん、回答ありがとうございました。

理解し切れていないところがありますが、分散が一定ならば(正規分布ならば)、最尤法は最小二乗法に等しいと言うことは認識しました。
今、依頼されている仕事のデータの母集団が正規分布かどうか分かりませんので、調べてみます。

もし、正規分布で無いときは、適用するモデルの検討で再度質問させていただくかもしれませんが、よろしくお願いします。

お礼日時:2007/12/11 16:04

私も統計については初心者ですが、回答してみます。



まず、
 回帰直線を y = ax + b とする。
 このとき、実現値 (x0,y0) と実際の y との差、つまり
  (a x0 + b) - y0
 は、平均値0、標準偏差σの正規分布に従う。
と予測すれば、最小二乗法と同じ結果になることは、#1さんがご指摘の通りです。

しかし私は、一般的には a が無限大に近い値もとり得るのではないか、と思い、
それで、このように予測してみました。
 回帰直線を (cosθ)x + (sinθ)y = r とする。
 このとき、この直線と点(x0,y0)との距離を d とすると、
  d = (cosθ)x0 + (sinθ)y0 - r
 である。この d は、平均値0、標準偏差σの正規分布に従う。

この予測の場合、母数は θ,r,σ の3つです。
そして、確率密度関数は、

f(x,y,θ,r,σ) = ( 1 / √(2π)σ ) e^{ -{(cosθ)x0 + (sinθ)y0 - r}^2 / 2σ^2 }

となります。この式より尤度関数は

log L(θ,r,σ) = Σ[k=1~n] { -{(cosθ)xk + (sinθ)yk - r}^2 / 2σ^2 } - (1/2)log(2π) - logσ }

となり、

(∂/∂θ) log L(θ,r,σ) = Σ[k=1~n] {(cosθ)xk + (sinθ)yk - r}{(sinθ)xk - (cosθ)yk / σ^2 } = 0
(∂/∂r) log L(θ,r,σ) = Σ[k=1~n] {(cosθ)xk + (sinθ)yk - r} / σ^2 = 0
(∂/∂σ) log L(θ,r,σ) = (略)

の連立方程式を解けばいいわけです。
実際に解くと、第二式より、

r = (1/n)(cosθ)Σxk + (1/n)(sinθ)Σyk

これを第一式に代入して計算すると、

(1/2)(sin2θ){ Σxk^2 - Σyk^2 - (1/n)(Σxk)^2 + (1/n)(Σyk)^2 }
 + (cos2θ){ (1/n)(Σxk)(Σyk) - Σxkyk } = 0

となりますので、この式からθが求まり、その結果から r と σ も求まります。
Excel で実験したところ、最小二乗法と幾分違う回帰直線が求まりました。
母集団がどんな分布に従うかが、一番重要なようですね。
    • good
    • 0
この回答へのお礼

kts2371148さん、回答ありがとうございました。

回帰直線を別の表現にすると、傾きと切片が異なってくるのですか。
なんだか、不思議な感じもします。
(すみません、数学的な素養が無くて・・・)

やはり、母集団の分布の仕方が重要なのですね。
ウィキペディアで調べたら、正規分布は「"多数派"という訳ではない」と書いてあったので、今回も正規分布で無いかもしれません・・・。

お礼日時:2007/12/12 10:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q統計学的に信頼できるサンプル数って?

統計の「と」の字も理解していない者ですが、
よく「統計学的に信頼できるサンプル数」っていいますよね。

あれって「この統計を調べたいときはこれぐらいのサンプル数があれば信頼できる」という決まりがあるものなのでしょうか?
また、その標本数はどのように算定され、どのような評価基準をもって客観的に信頼できると判断できるのでしょうか?
たとえば、99人の専門家が信頼できると言い、1人がまだこの数では信頼できないと言った場合は信頼できるサンプル数と言えるのでしょうか?

わかりやすく教えていただけると幸いです。

Aベストアンサー

> この統計を調べたいときはこれぐらいのサンプル数があれば信頼できる・・・
 調べたいどの集団でも、ある一定数以上なら信頼できるというような決まりはありません。
 何かサンプルを集め、それをなんかの傾向があるかどうかという仮説を検証するために統計学的検定を行って、仮設が否定されるかされないかを調べる中で、どの検定方法を使うかで、最低限必要なサンプル数というのはあります。また、集めたサンプルを何か基準とすべき別のサンプルと比べる検定して、基準のサンプルと統計上差を出すに必要なサンプル数は、比べる検定手法により計算できるものもあります。
 最低限必要なサンプル数ということでは、例えば、ある集団から、ある条件で抽出したサンプルと、条件付けをしないで抽出したサンプル(比べるための基準となるサンプル)を比較するときに、そのサンプルの分布が正規分布(正規分布解説:身長を5cmきざみでグループ分けし、低いグループから順に並べたときに、日本人男子の身長なら170cm前後のグループの人数が最も多く、それよりも高い人のグループと低い人のグループの人数は、170cmのグループから離れるほど人数が減ってくるような集団の分布様式)でない分布形態で、しかし分布の形は双方とも同じような場合「Wilcoxon符号順位検定」という検定手法で検定することができますが、この検定手法は、サンプルデータに同じ値を含まずに最低6つのサンプル数が必要になります。それ以下では、いくらデータに差があるように見えても検定で差を検出できません。
 また、統計上差を出すのに必要なサンプル数の例では、A国とB国のそれぞれの成人男子の身長サンプルがともに正規分布、または正規分布と仮定した場合に「t検定」という検定手法で検定することができますが、このときにはその分布を差がないのにあると間違える確率と、差があるのにないと間違える確率の許容値を自分で決めた上で、そのサンプルの分布の値のばらつき具合から、計算して求めることができます。ただし、その計算は、現実に集めたそれぞれのサンプル間で生じた平均値の差や分布のばらつき具合(分散値)、どのくらいの程度で判定を間違える可能性がどこまで許されるかなどの条件から、サンプル間で差があると認められるために必要なサンプル数ですから、まったく同じデータを集めた場合でない限り、計算上算出された(差を出すために)必要なサンプル数だけサンプルデータを集めれば、差があると判定されます(すなわち、サンプルを無制限に集めることができれば、だいたい差が出るという判定となる)。よって、集めるサンプルの種類により、計算上出された(差を出すために)必要なサンプル数が現実的に妥当なものか、そうでないのかを、最終的には人間が判断することになります。

 具体的に例示してみましょう。
 ある集団からランダムに集めたデータが15,12,18,12,22,13,21,12,17,15,19、もう一方のデータが22,21,25,24,24,18,18,26,21,27,25としましょう。一見すると後者のほうが値が大きく、前者と差があるように見えます。そこで、差を検定するために、t検定を行います。結果として計算上差があり、前者と後者は計算上差がないのにあると間違えて判断する可能性の許容値(有意確率)何%の確率で差があるといえます。常識的に考えても、これだけのサンプル数で差があると計算されたのだから、差があると判断しても差し支えないだろうと判断できます。
 ちなみにこの場合の差が出るための必要サンプル数は、有意確率5%、検出力0.8とした場合に5.7299、つまりそれぞれの集団で6つ以上サンプルを集めれば、差を出せるのです。一方、サンプルが、15,12,18,12,21,20,21,25,24,19の集団と、22,21125,24,24,15,12,18,12,22の集団ではどうでしょう。有意確率5%で差があるとはいえない結果になります。この場合に、このサンプルの分布様式で拾い出して差を出すために必要なサンプル数は551.33となり、552個もサンプルを抽出しないと差が出ないことになります。この計算上の必要サンプル数がこのくらい調査しないといけないものならば、必要サンプル数以上のサンプルを集めて調べなければなりませんし、これだけの数を集める必要がない、もしくは集めることが困難な場合は差があるとはいえないという判断をすることになるかと思います。

 一方、支持率調査や視聴率調査などの場合、比べるべき基準の対象がありません。その場合は、サンプル数が少ないレベルで予備調査を行い、さらにもう少しサンプル数を増やして予備調査を行いを何回か繰り返し、それぞれの調査でサンプルの分布形やその他検討するべき指数を計算し、これ以上集計をとってもデータのばらつきや変化が許容範囲(小数点何桁レベルの誤差)に納まるようなサンプル数を算出していると考えます。テレビ視聴率調査は関東では300件のサンプル数程度と聞いていますが、調査会社ではサンプルのとり方がなるべく関東在住の家庭構成と年齢層、性別などの割合が同じになるように、また、サンプルをとる地域の人口分布が同じ割合になるようにサンプル抽出条件を整えた上で、ランダムに抽出しているため、数千万人いる関東の本当の視聴率を割合反映して出しているそうです。これはすでに必要サンプル数の割り出し方がノウハウとして知られていますが、未知の調査項目では必要サンプル数を導き出すためには試行錯誤で適切と判断できる数をひたすら調査するしかないかと思います。

> どのような評価基準をもって客観的に信頼できると判断・・・
 例えば、工場で作られるネジの直径などは、まったくばらつきなくぴったり想定した直径のネジを作ることはきわめて困難です。多少の大きさのばらつきが生じてしまいます。1mm違っても規格外品となります。工場では企画外品をなるべく出さないように、統計を取って、ネジの直径のばらつき具合を調べ、製造工程をチェックして、不良品の出る確率を下げようとします。しかし、製品をすべて調べるわけにはいきません。そこで、調べるのに最低限必要なサンプル数を調査と計算を重ねてチェックしていきます。
 一方、農場で生産されたネギの直径は、1mmくらいの差ならほぼ同じロットとして扱われます。また、農産物は年や品種の違いにより生育に差が出やすく、そもそも規格はネジに比べて相当ばらつき具合の許容範囲が広くなっています。ネジに対してネギのような検査を行っていたのでは信頼性が損なわれます。
 そもそも、統計学的検定は客観的判断基準の一指針ではあっても絶対的な評価になりません。あくまでも最終的に判断するのは人間であって、それも、サンプルの質や検証する精度によって、必要サンプルは変わるのです。

 あと、お礼の欄にあった専門家:統計学者とありましたが、統計学者が指摘できるのはあくまでもそのサンプルに対して適切な検定を使って正しい計算を行ったかだけで、たとえ適切な検定手法で導き出された結果であっても、それが妥当か否か判断することは難しいと思います。そのサンプルが、何を示し、何を解き明かし、何に利用されるかで信頼度は変化するからです。
 ただ、経験則上指標的なものはあります。正規分布を示すサンプルなら、20~30のサンプル数があれば検定上差し支えない(それ以下でも問題ない場合もある)とか、正規分布でないサンプルは最低6~8のサンプル数が必要とか、厳密さを要求される調査であれば50くらいのサンプル数が必要であろうとかです。でも、あくまでも指標です。

> この統計を調べたいときはこれぐらいのサンプル数があれば信頼できる・・・
 調べたいどの集団でも、ある一定数以上なら信頼できるというような決まりはありません。
 何かサンプルを集め、それをなんかの傾向があるかどうかという仮説を検証するために統計学的検定を行って、仮設が否定されるかされないかを調べる中で、どの検定方法を使うかで、最低限必要なサンプル数というのはあります。また、集めたサンプルを何か基準とすべき別のサンプルと比べる検定して、基準のサンプルと統計上差を出すに必要な...続きを読む

Q赤池情報量基準AICとベイズ情報量基準BIC

赤池情報量基準AICとベイズ情報量基準BIC

シミュレーション実験ではBICの方が良い結果を与えると聞きますが、何故そうなるのか教えてください。
繰り返し誤差が存在しないことが原因でしょうか?

Aベストアンサー

こんにちは。だいぶ前の質問のようですが,回答させていただきます。
まず,AIC,BICは数式的には,
AIC=-2{対数尤度}+2{モデルパラメータ数}
BIC=-2{対数尤度}+log({サンプルサイズ}){モデルパラメータ数}
とあらわされます。
第1項は,モデルの当てはまりを表すものですので,当てはまりが
良いほど小さくなります。また,同じデータでは関係ありませんが,
サンプルサイズが大きくなれば,小さくなります。

第2項は,「罰則項」とも呼ばれ,パラメータ数が多いほど(すなわちモデルが
複雑になるほど)大きくなります。
あてはまりが良くても滅茶苦茶複雑なモデルは好ましくないということで,
いずれの指標も,当てはまりが良く,なおかつシンプルなモデルが
志向される指標といえるでしょう。

AICとBICの数式的な違いは第2項ですが,AICは,罰則項がサンプルサイズによらず,
サンプルサイズが大きいときに,第1項の比重が大きくなり,複雑なモデルが選ばれがちに
なります。その点BICは罰則項もサンプルサイズの関数ですので,AICよりもシンプルな
モデルが選ばれがちです。

ただし,そもそもの考え方のベースが両指標で異なります(AICは尤度推測,
BICはBayes推測)ので,モデルパラメータの推測ストラテジに合わせる必要がある
と考える人もいます。たとえば,モデルパラメータをBayes流で推定するならば
BIC,最尤法で求めるならAICというように。必ずしもこのように用いなければならない
というコンセンサスはないとは思いますが。

以上,ご参考まで。

こんにちは。だいぶ前の質問のようですが,回答させていただきます。
まず,AIC,BICは数式的には,
AIC=-2{対数尤度}+2{モデルパラメータ数}
BIC=-2{対数尤度}+log({サンプルサイズ}){モデルパラメータ数}
とあらわされます。
第1項は,モデルの当てはまりを表すものですので,当てはまりが
良いほど小さくなります。また,同じデータでは関係ありませんが,
サンプルサイズが大きくなれば,小さくなります。

第2項は,「罰則項」とも呼ばれ,パラメータ数が多いほど(すなわちモデルが
複雑になるほど)大き...続きを読む

Q回帰分析の時に対数をとる意味は?

現在、計量経済学の授業で、
回帰分析、最小二乗法について勉強しているのですが、
たまに先生がデータの対数をとって回帰分析をするのですが、
どうして対数をとるのかよくわからないんです。

一応、弾力性を一定とする時や、非線形の関数を
線形にする時に使うらしいことまでは、
わかっているのですが
(でも、それすら怪しいです。間違っていたら訂正してください…)

どうして、対数をとるとそのようなことができるのか
よくわからないんです。

ご存知の方がいらっしゃれば、アドバイスお願いします。
参考書籍・参考サイト等の紹介でもかまいません。

Aベストアンサー

追加の質問の件ですが,ある回帰式について,その説明変数でよいか,その関数形でよいか,ということを統計的に検証する手続きは,特定化の検定(specification test)として確立しています。

よく用いられる例が,Hausman検定やRamseyのRESET検定です。両者は,対立仮説などが異なるので,何を目的とするかで一長一短があり使い分けられます。

ただし,そうした検定はそれなりに難しい(大標本の検定なので,確率極限 plim の概念が必要)ので,学部の4単位くらいの内容ではそこまで至らないでしょう。学部の上級講義か,大学院の修士課程で学ぶ内容ですね。ちゃんとした教科書でも,かなり後の方に説明してある検定です。

ただ,対数をとったモデルと,とらないモデル,どちらの方が望ましいかというだけだったら,上の一般的な定式化の検定よりもずっと簡単な問題で,より簡単なBox-Cox変換で十分です。これだと,入門的な教科書でも手短かに書いてあるでしょう。

なお,その先生の説明を直接聞いたわけではないですが,「対数をとれば,どんな非線形の関係でも,線形回帰式として推定できる」と思われたのなら,誤解を招く説明ですね。

実際,対数をとるだけでは線形にならないような非線形の関係を推定する手法として,非線形最小2乗法とか一般化モーメント法(GMM)とかが用いられているんですからね。これらも,中級以上の教科書なら説明があるでしょう。

追加の質問の件ですが,ある回帰式について,その説明変数でよいか,その関数形でよいか,ということを統計的に検証する手続きは,特定化の検定(specification test)として確立しています。

よく用いられる例が,Hausman検定やRamseyのRESET検定です。両者は,対立仮説などが異なるので,何を目的とするかで一長一短があり使い分けられます。

ただし,そうした検定はそれなりに難しい(大標本の検定なので,確率極限 plim の概念が必要)ので,学部の4単位くらいの内容ではそこまで至らないでしょう。学部の...続きを読む

Qデータの加重平均について

加重(重み付き)平均について、これまでの類似の質問を読んでもわからないことがあるので
お教え下さい。共通テストでの各小学校ごとの平均点の加重平均や平均株価などでは、重みが
生徒数や株式発行数になるのは理解できるのですが、単なる測定データの場合は重みはどうす
ればよいのでしょう。例えば、理論的には同じ値になる(どんな値になるかはわからない)は
ずの測定を100回したとすると、得られた値はばらつくのですが、普通に相加平均をとると、
すごく他から離れた値があったりした時に、悪い結果になってしまいます。そういう値の影響
を小さくするために相加平均ではなく加重平均を取りたい訳なんですが、その場合の重みは、
一応、相加平均を計算して、「それぞれの値と相加平均との差の絶対値の逆数」ということで
良いのでしょうか。それとも別のもっといい方法があるのでしょうか。よろしくお願いします。

Aベストアンサー

 ご質問の3行目までを拝見すると、加重平均を正しく理解していらっしゃることが分かります。要するに「データが幾つかのグループに分けてあって、各グループの平均値が分かっている。ここで、全部のデータの平均を計算したい。その場合、全部のデータから平均値を計算し直す代わりに、グループの平均値を利用して同じ答を簡単に計算できる」というだけの、単なる「要領の良い計算方法」に過ぎません。

 一方、ご質問の問題は、計算の形としては加重平均と同じことになるけれども、その意味が全く違いますので、区別が必要です。

[1] まず「平均値って数学的にはどういう意味なのか」を確認しましょう。
「理論的には同じ値になるはずの測定である」ということは、j回目の測定値をx[j]とするとき、
x[j]= a + ε[j]
という理論がある訳です。この式をモデルと言います。で、モデルを実測データx[j](j=1,2,…,N)になるべく合うように当てはめます。「なるべく合う」という感覚的な話じゃどうにもならないので、モデルと実測データのずれを測るための
E(a) = Σ(ε[j]^2) (Σはj=1,2,…,Nについての総和、^2は二乗)
という尺度を考え、「E(a)が小さいほどモデルと実測データが良く合っている」とします。
すると、E(a)が最小になるようにaを決定すれば良い。
 これは「最小二乗法」と呼ばれる方法です。

 実際にどうやって計算するかというと、E(a)はaを変えると変化する訳ですが、E(a)が最小になるようなaの近辺ではE(a)の変化がなくなりますから、
dE(a)/da = 0
となる。このことを利用して
dE(a)/da
= Σd(ε[j]^2)/da
= 2Σ(ε[j](d(ε[j])/da))
= 2Σ(ε[j](d(a + ε[j])/da))
= 2Σ(ε[j](da/da))
= 2Σε[j]
= 2Σa - 2Σx[j]
= 2Na - 2Σx[j]
これが0になるようにaを決めるのだから、
a = (Σx[j])/N
とすれば良い。これは平均値の計算方法そのものですね。
 つまり、「平均値を計算する」ということの数学的な意味は
「E(a) = Σ(ε[j]^2) (Σはj=1,2,…,Nについての総和、^2は二乗)
とするとき、E(a)が最小になるようにaを決定する。」
ということに他ならないのです。(これはガウスによって確立された理論であり、この理論によって平均値というものが他の代表値(中央値、最頻値など)とは違う、明確な意味を獲得したのです。丁度フランス革命の頃の話。)

[2] 毎回の計測で計測誤差が同じでない場合の重み付き平均。
すごく他から離れた値があったとき、それが測定方法に起因するランダムな誤差によるものである場合には、最小二乗法の範疇で処置できます。測定の度に使う計測器が異なっていて、j回目の測定に使った計測器は誤差が標準偏差σ[j]を持つ分布に従うとしましょう。この場合、誤差の標準偏差が小さい測定結果は重要ですし、大きいものは重要でない。そこで、
「E(a) = Σ((ε[j])/σ[j])^2) (Σはj=1,2,…,Nについての総和、^2は二乗)
とするとき、E(a)が最小になるようにaを決定する。」
のです。これを重み付き最小二乗法と言います。上記と同様にして具体的な計算方法を出してみると
a = (Σ(x[j]/σ[j]))/(Σ(1/σ[j]))
という重み付き平均になります。重みは1/σ[j]ですね。

[3] 「あり得ない」測定値が入る場合
 「いや、計測手段は毎回同じなので、誤差のばらつきも同程度の筈である。だからデータがだいたい揃う筈だ」という知識があり、なのにその知識から考えてあり得ないような凄く離れた値が混じっているという場合。測り間違いとか、転記ミスなどの、外乱による異常値が入っているおそれがある訳です。
 そういう異常値の影響を少なくするためには上記の尺度Eでは旨く行きませんので、いろいろな工夫がされていて、「ロバスト・フィッティング」と呼ばれます。(ある種の重みを付けるんですが、それらの具体的な方法と評価については、「最小二乗法による実験データ解析」(東京大学出版会)をお勧めします。)
 ただし、そういう工夫をすると、算出したaの意味は[1][2]のような単純なものではなくなってしまいますし、「恣意的にデータの選別をしたのではないか。気に入らないデータを無視し都合の良いものだけを選んで計算したイカサマの数値じゃないか」という批判が可能で、このため客観的結果とは言えなくなります。

[4]以上をご承知の上で、ですね、ご質問がお求めなのはロバスト・フィッティングをやりたい、ということでしょうか。すると、
(1) |ε[j]|が小さいなら、最小二乗法とほとんど同じになって欲しい。
(2) |ε[j]|がうんと大きいなら、その測定値x[j]はほとんど無視したい。
 個々のデータについてこの二つのルールのどっちを適用するかの判断には、|ε[j]|が小さいとか大きいとかいうための比較基準が必要です。どうしましょうか。
 もし、沢山のデータの中にごく僅かの異常値が入っているのであれば、まずは普通に最小二乗法を使って、a(つまり平均値)とε[j]の標準偏差(つまり普通の標準偏差)bを計算しても、bの値は大きくは狂わないでしょう。ならば、この標準偏差bを基準にできます。例えば
●|ε[j]|>2b なら重みを0にする。さもなくば重みを1にする。
というのもアリです。でも異常値が2bを越えるかどうかで扱いがまるで変わるのが気に入らないと仰るならば、滑らかに変化する重み(ただし|ε[j]|が0に近いときは1、うんと大きい時は0)を付ければいいでしょう。例えば
● |kε[j]/b)|>πなら重みを0にする。さもなくば重みを(1/2)(1+cos( kε[j]/b))にする。(kは適当な定数です。たとえばk=1ぐらいとか。)

 ご質問の3行目までを拝見すると、加重平均を正しく理解していらっしゃることが分かります。要するに「データが幾つかのグループに分けてあって、各グループの平均値が分かっている。ここで、全部のデータの平均を計算したい。その場合、全部のデータから平均値を計算し直す代わりに、グループの平均値を利用して同じ答を簡単に計算できる」というだけの、単なる「要領の良い計算方法」に過ぎません。

 一方、ご質問の問題は、計算の形としては加重平均と同じことになるけれども、その意味が全く違いますの...続きを読む

Qinterface,extend,implementのちがい

お世話になります、

Javaを勉強しているのですが、
interface,extend,implementの使い分けがわかりません。

私の解釈としては、
(1)interfaceは、グローバル変数の定義、グローバルメソッドの定義(実装はしない)。

(2)extendは、extendクラスを親クラスとして親クラスの機能を使用できる。

(3)implementは…,implementもextendと同じような意味だと解釈しているんですが、違う点は、implementで定義してあるメソッドは、使用しなくても、実装しなければならないという点でしょうか?

とにかくこの3つのを使い分けるコツとかあれば教えてください。
よろしくお願いします。

Aベストアンサー

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば、getStringLength()メソッドなどが
あったほうが良いでしょうか。
このgetStringLength()メソッドは、2バイト文字も1バイト文字も「1文字」
と数えてくれると言う点で、まさに、日本語クラス用のメソッドだと言えるでしょう。

例えば、Java的に記述すると、、、
class Japanese {
public int getStringLength() {
  ・・・
return strlength;
 }
 ・・・
}

class TextField {
・・・
}

class JTextField extends TextField, extends Japanese {
・・・・
}

C++ではそのように実装するでしょう。
しかし、Javaにはこのような高度な機能はありません。

そこで、生まれた苦肉の策が、「interfaceとimplements」です。

interface Japanese {
public int getStringLength(); // interfaceは実装を含まない!
                 // すなわち「実装の継承」ができるわけではない。
}

class TextField {
・・・
}

class JTextField extends TextField implements Japanese {
・・・・
public int getStringLength() {
  ・・・
return strlength; //implementsの実装を「各クラスで」実装してやる必要がある。
 }
}


結局のところ、Javaでは、複数のクラスを親クラスには持ち得ないため、継承できなかったクラスは「各クラスで実装してやる必要性」があるのです。


ではどのように使うのが効果的か?

なまえのままです。「代表的なインターフェイス」にたいしてinterfaceを使うのが良いと思います。

例えば、プレイヤー系であれば、ビデオ・コンポ・ウォークマン・などにかかわらず、
interface controlpanel {
public play();
public stop();
public next();
public back();
}
というような基本的インターフェイスを「持っているべき」です。

こうすることで、それぞれのクラス宣言の際に、これらの「インターフェイスを持っているべきであり、実装されるべきである」ということを「強く暗示」することができます。
class videoplayer extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

こうすることで、同様のクラスを作成するユーザーは、
「プレイヤー系は、4つ操作が出来るコントロールパネルをインターフェイスとして持つべきなのだな!?」という暗示を受け取り、自分のクラスでもそれを模倣するでしょう。

class mp3player extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

また、これらのクラスを使用するユーザーも、「implements controlpanel」という
表記を見て、「4つの基本操作は押さえられているのだな!」という基本中の基本動作を抑えることが出来ます。

まとめると、クラスに「こういう特徴もたしてください!」「こういう特徴持ってますよ!」という一種の暗示的警告や方向性を与えることができるわけですね。

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば...続きを読む

Q単位について Eqとは?

単位のなかで、4mEq/Lとあったんですが、Eqってなんですか?読み方も教えてください!

Aベストアンサー

こんばんは。

Eqですが読みは「イクイバレント」と読み、当量を示します
通常mEq/L「ミリ-イクイバレント・パー・リットル」と読み1/1000当量を示します

以下は教科書の抜粋です

mEqとは何か。

 食塩(NaCl)のような電解質は水に溶解したときには、Na(+イオン)とCl(-イオン)が同じ重量で反応するのではなく、同じ当量(エクイバレント)で反応する。
イオンには原子量があり、原子価がある。
Naの原子量は23、原子価は1価、Clは原子量35.5で原子価は1価であって、食塩は23gのNa(+イオン)と35.5gのCl(-イオン)が結合して58.5gの食塩(NaCl)が出来るのである。
g当量で表すには体内では量が少なくすぎるので1,000分の1の単位、すなわちmg当量(mEq)で表すのが一般的で、最も適した量がミリエクイバレント/リッタ-(mEq/l)である、すなわち、この値は1リッタ-中の溶質のmg数を原子量で割って、これに原子価を掛けたものである。

お役に立ちましたか?

Qエクセル STDEVとSTDEVPの違い

エクセルの統計関数で標準偏差を求める時、STDEVとSTDEVPがあります。両者の違いが良くわかりません。
宜しかったら、恐縮ですが、以下の具体例で、『噛み砕いて』教えて下さい。
(例)
セルA1~A13に1~13の数字を入力、平均値=7、STDEVでは3.89444、STDEVPでは3.741657となります。
また、平均値7と各数字の差を取り、それを2乗し、総和を取る(182)、これをデータの個数13で割る(14)、この平方根を取ると3.741657となります。
では、STDEVとSTDEVPの違いは何なのでしょうか?統計のことは疎く、お手数ですが、サルにもわかるようご教授頂きたく、お願い致します。

Aベストアンサー

データが母集団そのものからとったか、標本データかで違います。また母集団そのものだったとしても(例えばクラス全員というような)、その背景にさらならる母集団(例えば学年全体)を想定して比較するような時もありますので、その場合は標本となります。
で標本データの時はSTDEVを使って、母集団の時はSTDEVPをつかうことになります。
公式の違いは分母がn-1(STDEV)かn(STDEVP)かの違いしかありません。まぁ感覚的に理解するなら、分母がn-1になるということはそれだけ結果が大きくなるわけで、つまりそれだけのりしろを多くもって推測に当たるというようなことになります。
AとBの違いがあるかないかという推測をする時、通常は標本同士の検証になるわけですので、偏差を余裕をもってわざとちょっと大きめに見るということで、それだけ確証の度合いを上げるというわけです。

Qe^-2xの積分

e^-2xの積分はどうしたらよいのでしょうか…。e^xやe^2xsinxなどはのってるのですがこれが見つかりません。お願いします。

Aベストアンサー

いささか、思い違いのようです。

e^-2x は、 t=-2x と置いて置換してもよいけれど、牛刀の感がします。

e^-2x を微分すると、(-2)*( e^-2x )となるので、

e^-2x の積分は、(-1/2)*( e^-2x )と判明します。

Q回帰関係の有意性と回帰係数の有意性の意味

「回帰関係の有意性」と「回帰係数の有意性」についての質問です。

この2つなんですが、それぞれ何故こんなことをするのでしょうか?
また何がわかるのでしょうか?

式を見たりしてもイマイチ理解ができず、困っています。
簡潔に説明して頂けると大変有り難いです(><;)

よろしくお願いします。

Aベストアンサー

>式を見たりしてもイマイチ理解ができず
統計学を数式で説明できるヒトなら可能です。私は、もっぱら国語で理解していますので。それと、回帰分析を何度もやればなんとかなります。といっても、回帰分析の解釈は、専門家でも間違っている例をいくつも知っています。

>「回帰関係の有意性」
有意性の判定を相関係数で行うのなら、x軸とy軸の両者の関係は偶然なのか否かの判定をします。有意であれば、回帰式も適切である、と考えます

>「回帰係数の有意性」
 回帰係数は、重回帰分析の時に、どの因子の影響が強いか、の判断に使えます。総合的なテストをして、国語と数学の点数との重回帰分析をすれば、どちらの能力が有利の判定は、回帰係数の大きいほうが有利、と判断します。

 回帰係数の有意性を利用するような検討は、想定しがたいのですが、間違いありませんか。有意性ではなく、有用性なら、回答は上記です。
 ご質問に忠実に解答すれば、数学と国語の関係の回帰式を日米2カ国で算出、この回帰式が異なること(日米では異なること)を示したい、なんぞの判定は、回帰係数の有意性から判断できます(同じであることは、主張できません)。すなわち、AとBの回帰式は異なる、ことを主張したいときには利用できますが、私の分野では使われた論文を読んだ記憶はありません。
 

>式を見たりしてもイマイチ理解ができず
統計学を数式で説明できるヒトなら可能です。私は、もっぱら国語で理解していますので。それと、回帰分析を何度もやればなんとかなります。といっても、回帰分析の解釈は、専門家でも間違っている例をいくつも知っています。

>「回帰関係の有意性」
有意性の判定を相関係数で行うのなら、x軸とy軸の両者の関係は偶然なのか否かの判定をします。有意であれば、回帰式も適切である、と考えます

>「回帰係数の有意性」
 回帰係数は、重回帰分析の時に、どの因子の...続きを読む

Q行列の平方根?のようなもの

任意の2x2行列B=(p, q, r, s)に対して、B=A^2を満たす行列A=(a, b, c, d)の各要素をp, q, r, sで表すことは可能でしょうか?

A^2の各要素を計算すると、a^2+bc, b(a+d), c(a+d), bc+d^2となります。これらにp, q, r, sを対応させて、

p = a^2+bc, q = b(a+d), r = c(a+d), s = bc+d^2の方程式を解けばいい、と思ったのですが、私には解けません。

こんな私ですが、ご教授いただければ幸いです。

Aベストアンサー

行列の名前を A とすると、これが対角化可能ならAの平方根を計算できます。

Aが対角化可能なら

P^(-1)AP = (λ1, 0, 0 λ2)
#(a, b, c, d) は2x2 の行列を表すとします。
#λ1, λ2 はAの固有値

となる行列 P が存在します。Pの求め方は線形代数の本には
必ず載ってますので、見てください。

これを変形すると
A = P(λ1, 0, 0 λ2)P^(-1)

ここで

B=P(λ1^(1/2), 0, 0, λ2(1/2))P^(-1)

という行列の2乗は

B^2=P(λ1^(1/2), 0, 0, λ2(1/2))P^(-1) P(λ1^(1/2), 0, 0, λ2(1/2))P^(-1)
=P(λ1^(1/2), 0, 0, λ2(1/2))(λ1^(1/2), 0, 0, λ2(1/2))P^(-1)
=P(λ1, 0, 0 λ2)P^(-1)=A


つまり B は A の平方根です。平方根に限らず A の任意のべき乗を計算できます。
ベクトル形式の一階の線形微分方程式の解を知りたいときに使う常とう手段ですね。

より一般的な対角化不能な場合や正則ではない場合はよく覚えていないのでパス(^^;

行列の名前を A とすると、これが対角化可能ならAの平方根を計算できます。

Aが対角化可能なら

P^(-1)AP = (λ1, 0, 0 λ2)
#(a, b, c, d) は2x2 の行列を表すとします。
#λ1, λ2 はAの固有値

となる行列 P が存在します。Pの求め方は線形代数の本には
必ず載ってますので、見てください。

これを変形すると
A = P(λ1, 0, 0 λ2)P^(-1)

ここで

B=P(λ1^(1/2), 0, 0, λ2(1/2))P^(-1)

という行列の2乗は

B^2=P(λ1^(1/2), 0, 0, λ2(1/2))P^(-1) P(λ1^(1/2), 0, 0, λ2(1/2))P^(-1)
=P(λ1^(1/2), 0, 0, λ2(1/2...続きを読む


人気Q&Aランキング