• ベストアンサー

助けてください!

身長と体重を10づつ入力してそれぞれの平均、分散、標準偏差、 身長と体重の共分散、相関係数を求めるプログラミングを VisualBasicの分岐処理、繰り返し処理、配列の概念を利用して作りたいのですが 全然分かりません。教えてください。お願いします。 フォームはすでに出来ています。 身長はtext1をコピーして text1(0) text1(1) text1(2) text1(3) text1(4) text1(5) text1(6) text(7)text(8) text(9)というように配列を使っています。 体重もtext2で同じようになっています。 command1をクリックすると、 身長の平均をtext3、    体重の平均をtext4、    分散をtext5、       分散をtext6、    標準偏差をtext7      標準偏差をtext8、    共分散をtext9 相関係数をtext10 に表示できる     具体的なプログラムを教えてください。 Private sub command1_click End sub の空欄に入力する内容を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#12673
noname#12673
回答No.2

平均、分散、標準偏差、共分散、相関係数を求める方法を説明します No1の方のコードを借りると(変数宣言は省略) 1.合計を求めます。 for i = 1 to 10 Goukei = Goukei + CDbl(text1(i)) Next 2.合計を要素数で割ると平均が出ます Heikin = Goukei / 10 3.要素から平均を引いたものを偏差と言います。平均からの偏りという意味です。 その偏差を2乗して合計します。これを偏差平方和と言います。 for i = 1 to 10 HensaHeihouWa = HensaHeihouWa + (CDbl(text1(i)) - Heikin)^2 Next 4.偏差平方和を要素数で割ると分散が出ます(正確には標本分散です) Bunsan= HensaHeihouWa / 10 5.分散の平方根(ルート)を取ると標準偏差になります HyoujyunHensa = Sqr(Bunsan) 6.1から5を身長、体重とそれぞれ求めます。以後、身長の平均だったらShintyouHeikinというように記述します。 7.1人の身長の偏差と体重の偏差を掛けます。そしてそれを合計します。これを偏差積和と言います for i = 1 to 10 HensaSekiWa = HensaSekiWa + (CDbl(text1(i)) - SintyouHeikin) * (CDbl(text2(i)) - TaijyuhHeikin) next 8.偏差積和を要素数で割ります。それが共分散です KyouBunsan = HensaSekiWa / 10 9.共分散を身長の分散と体重の分散の積の平方根で割ります。それが相関係数です Soukankeisuh = KyouBunsan / Sqr(ShintyouBunsan*TaijyuhBunsan) あとは任意のテキストボックスに必要な値を代入してください

その他の回答 (3)

  • mneko
  • ベストアンサー率33% (46/139)
回答No.4

平均 mean x = (1/n) { X1 + X2 + ・・・ + Xn } 分散 variance v = (1/n) { (X1 - x)2 + (X2 - x)2 + ・・・ + (Xn - x)2 } 標準偏差 standard deviation s = v ^(1/2) 偏差値 xh = 50 + (Xt  - x )*10/s 変動係数 coefficient of variation c.v. = 100 * s / x レンジ range rg = (データ最大値) - (データ最小値) 上が計算式です。

  • tksoft
  • ベストアンサー率36% (99/273)
回答No.3

一応データx(1),x(2),・・・x(n) があるとすると平均値Av、分散Va,標準偏差SDは Av = Σx(i) / n Va=(Σ(x(i)-Av)^2)/2 SD=√(Va) また、xに対応するデータyがあるとき共分散Sxyと相関係数rは Sxy=Σ((x(i)-xAv)*(y(i)-yAv)) / (n-1) 但し、xAvはxのyAvはyの平均 r=Σ((x(i)-xAv)*(y(i)-yAv)) / (Σ(x(i)-xAv)^2 * Σ(y(i)-yAv)^2 ) です。大丈夫かなヽ(^o^)丿

  • tksoft
  • ベストアンサー率36% (99/273)
回答No.1

まず確認ですが平均、分散、標準偏差、 共分散、相関係数を計算する方法はご存知ですか?また自分で(電卓などで)実際に計算できますか?これが出来なければ先に進めません。 次に「VisualBasicの分岐処理、繰り返し処理、配列の概念」は理解されていますか? んで本題です。いきなりcommand1をクリックしてすべてを計算するのは面倒なのでまず、身長の平均値をtext3にいれる方法を。 Private sub command1_click dim Goukei as double dim i as integer for i = 1 to 10 Goukei = Goukei + CDbl(text1(i)) Next text3 = CStr(Goukei / 10.0) End sub てな感じでしょうか。 最後に、最近VBを触ってないのでかなりいい加減なコードです。構文エラーなどが出るかもしれませんが基本的な考え方はあっているはずですので、頑張ってみてください。

doraeres57
質問者

補足

ご回答ありがとうございます。 >まず確認ですが平均、分散、標準偏差、 共分散、相関係数を計算する方法はご存>知ですか?また自分で(電卓などで)実際に計算できますか? 大昔に学習した内容なので分かりません。先に進むために教えてください。

関連するQ&A

  • 基本的なことから分かりません。助けてください。

    身長と体重を10づつ入力してそれぞれの平均、分散、標準偏差、 身長と体重の共分散、相関係数を求めるプログラミングを VisualBasicの分岐処理、繰り返し処理、配列の概念を利用して作りたいのですが 全然分かりません。教えてください。お願いします。

  • 相関係数と標準偏差

    相関係数と標準偏差 相関係数の分母がなぜ標準偏差になるのかわかりません。 なぜ平均や分散ではだめなのでしょうか。 数学の初心者にもわかりやすい解説をいただけるとうれしいです。

  • 相関係数の特殊な求め方 

    相関係数を共分散なしで、x、yの平均と標準偏差のみで求める方法はありますか? よろしくお願いします。

  • 統計の質問

    (1)ある集団10人を無作為に抽出して身長(cm)と体重(kg)を測定したところ次のようになった。 身長:平均160.3 標準偏差8.5  体重:平均58.4 標準偏差9.0  身長と体重の共分散66.5 ただし(身長,体重)は二次元正規分布に従う。 問。身長と体重の間に相関があるかどうか有効水準5%以内で検定を行え。 (2)ある集団の身長は平均163.2cm、標準偏差7.5cmの正規分布に従うとする。 問。この集団100人の平均身長が163.2cmから2cm以上異なる確率を求めよ。 問。この集団から100人の組を二つ作り、それぞれA、Bとする。AとBの平均身長の差が2cm以内である確率を求めよ。

  • 相関係数を指定して二変量データを作成する

    相関係数、平均、標準偏差を指定して二変量データを作成しようとしていますが、なかなかうまくいきません。 http://oshiete1.goo.ne.jp/qa2413827.html こちらの回答を参考にしてエクセルで試してみたのですが、出力されたデータの相関係数、平均、標準偏差を調べて見るとどの値も微妙にずれてしまいます。

  • 共分散と相関係数について

    ファイナンス(証券投資)の勉強をしているのですが、共分散と相関関数でどうしても理解できない部分があるので、こちらのカテゴリで質問させて頂きます。 1.具体例(前提) A証券とB証券のポートフォリオ効果を調べるために、両者の相関性を計算します。 A証券の環境変化(期待収益率=平均収益率:20%*0.4+10%*0.4+5%×0.2=13%) 為替相場:円高→確率:0.4→収益率:20%→偏差:7% 為替相場:不変→確率:0.4→収益率:10%→偏差:-3% 為替相場:円安→確率:0.2→収益率:5%→偏差:-8% A証券の標準偏差:7*7*0.4+(-3)*(-3)*0.4+(-8)*(-8)*0.2の平方根=6% B証券の環境変化(期待収益率=6%) 為替相場:円高→確率:0.4→収益率:3%→偏差:-3% 為替相場:不変→確率:0.4→収益率:7%→偏差:1% 為替相場:円安→確率:0.2→収益率:10%→偏差:4% B証券の標準偏差:≒2.68% 2.質問 (1)共分散について この場合に、共分散は、Σ(A証券の偏差×B証券の偏差×確率)で求められると記述があります。 A証券の偏差×B証券の偏差の平均をとったものだと思います。 上述の例では、共分散は、結果的に-16になります。 この際、共分散の数値が正(+)である場合は、同方向、負(-)である場合は、逆方向の相関性があるというのは、掛け算の性質から理解できます。 その上で、共分散の絶対値は、2つの証券の相関性の程度であって、絶対的が大きい程、相関性は高いと記述がありまして、ここで理解できずにいます。 なぜ、両者の偏差を掛け合わせることで、両者の相関性の程度が計算できるのでしょうか? 例えば、一定条件のA証券の偏差が1%、B証券の偏差が2%の場合は、1*2=2と計算されますが、仮にA証券の偏差が19%、B証券の偏差が20%の場合は、19*20=380になります。 相関性というならば、両者は同方向に1%しか差がないにもかかわらず、相関性として計算される数値は雲泥の差です。 この点についてご教示頂ければと思います。 (2)相関係数について 相関係数は、共分散/(A証券の標準偏差×B証券の標準偏差)で求められると記述されています。 上記の例の場合は、-16/6%*2.68=-0.995と非常に高い負の相関性があります。 そしてこの式は、共分散(A証券の偏差×B証券の偏差の平均)を両証券の標準偏差(偏差の正数値の平均)で割ったもので、これが-1~1の間で推移することは理解できます。 ただ、上記の共分散と同様に、両者の偏差(及び標準偏差)を掛け合わせることで、両者の相関性の程度が計算できる理屈がわかりません。 この点についてご教示頂けないでしょうか? ご回答よろしくお願い致します。

  • ポートフォリオに関する計算問題について

    ポートフォリオの計算についてです。株式1が期待収益率20%、標準偏差10、 株式2が期待収益率30%、標準偏差20で 投資比率がそれぞれ0.3と0.7とします。 相関係数が0.2のときの期待収益率 相関係数が-0.8のときの分散 この2つの答えを教えてください。 途中式をいれて頂くと嬉しいです。 写真も載せますので、お願いします。

  • 分散とは何ですか?

    友達の大学の問題で、エクセルで身長の分散を求めなさいという宿題がありました。身長のデータが20個ぐらいあり、分散を表示させるセルに求めるという問題です。(ちょっと見ただけなので、この程度しか情報がなく申し訳ありません。どうも身長と体重などの相関関係を調べているようです。) 相談されたのですが、よくわかりません。分散というのは何なのでしょうか?あと標準偏差、中央値、最頻値、母集団という言葉もあり、言葉の意味が全くわかりません。どなたかわかりやすく言葉の意味を説明していただけたらと思います。 どうぞよろしくお願いいたします。

  • 共分散と相関係数の、単位による影響

    統計学の次のような問題について質問があります。 「ゾウの体重(トン)と体高(m)を調べ、共分散が2.56、相関係数が 0.789という数値が得られた。もし体重をkg、体高をcmで計算し直すと 共分散と相関係数はどのような値をとるか?」 といったものです。 相関係数はそのまま0.789で良いと思うのですが、共分散の計算が わかりません。2.56×1000×100 =256000で良いのでしょうか? よろしくお願いいたします。

  • Xの平均の2乗とYの平均の積の期待値

    N人のあるクラスの生徒の中から無作為にn人の生徒(標本)を選んで、そのn人の体重(X)と身長(Y)を調べ、n人の体重の平均の2乗(μX^2)と同じn人の身長の平均(μY)の積(μX^2) (μY)を計算します。 このとき、積(μX^2)(μY)の期待値E[(μX^2)(μY)]は、どのような式になるでしょうか。 だれかわかる方、お教えください。 ちなみに、n人の体重の平均(μX)の期待値E[μX]は、クラス全員の体重の平均(μx) E[μX]=μx ですし、 n人の体重の平均の2乗(μX^2)の期待値E[μX^2]は、 E[μX^2]=(μx)^2+(N-n)/(N-1) (1/n) (σx)^2 です。 ただし、(σx)^2は、クラス全員の体重の分散 また、n人の体重の平均と同じn人の身長の平均の積(μX) (μY)の期待値は、 E[(μX) (μY)]=(μx) (μy)+(N-n)/(N-1) (1/n)ρ(σx) (σy) です。 ただし、μxは、クラス全員の体重の平均 μyは、クラス全員の身長の平均 ρは、クラス全員の体重と身長の相関係数 σxは、クラス全員の体重の標準偏差 σyは、クラス全員の身長の標準偏差 よろしくお願いします。