★ 最小二乗法プログラムをEXCELと比べると違いがあった場合は ★

 293 最小二乗法プログラムをEXCELと比べると違いがあった場合は  名無し  2002/08/22 (木) 09:53
  296 Re: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 10:54
   298 Re^2: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  名無し  2002/08/22 (木) 18:49
    300 Re^3: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 20:14
     301 Re^4: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 20:14
      303 Re^5: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  ひの  2002/08/22 (木) 20:45
       304 Re^6: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 21:00
        308 Re^7: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  名無し  2002/08/23 (金) 20:35
      302 Re^5: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 20:38


293. 最小二乗法プログラムをEXCELと比べると違いがあった場合は  名無し  2002/08/22 (木) 09:53
こちらで掲載されているプログラムの実行結果と
EXCELの機能でやった場合と違いが出る場合がありますが
計算のアルゴリズムが違うのか
計算の精度が違うのか
こちらのプログラムとEXCELはどちらが性能がよいのか
など情報いただければ幸いです

     [このページのトップへ]


296. Re: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 10:54
> こちらで掲載されているプログラムの実行結果と
> EXCELの機能でやった場合と違いが出る場合がありますが
> 計算のアルゴリズムが違うのか
> 計算の精度が違うのか
> こちらのプログラムとEXCELはどちらが性能がよいのか
> など情報いただければ幸いです

エクセルの分析ツールの回帰分析の問題点などについては,以下を参照してみてください。
http://aoki2.si.gunma-u.ac.jp/Hanasi/StatTalk/11.html

ただ,「Excelと結果が違う場合があるんだけど」と言われただけでは,検証のしようがないのです。私のプログラムが間違えていないと言う自身はあるのですが。私の名誉にも関わるので(大げさな(^_^)),結果が異なる場合のデータ(なるべく小さい方がいいですが)を提示してください。大きいデータでここに掲示できない場合は,メイルで送って下さい。

     [このページのトップへ]


298. Re^2: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  名無し  2002/08/22 (木) 18:49
気分を害されたかもしれません,申し訳ありませんでした。
けしてプログラムにケチを付けたかった訳ではありません。
失礼をお詫び申し上げます。
上記リンク先で数値計算の有効ケタの問題や
EXCELを鵜呑みにしてはいけないことなど大変参考になりました。
ありがとうございます。

ところでそのデータは
x y
1 4200
2 6100
3 7300
4 7850
5 8700
6 10500
7 16540
で7点目は特異点のようになっており
y=ax^b
に強引に近似しました。
EXCEL結果は
a=3944.2
b=0.5873
先生プログラム結果は
a=2981.9
b=0.78503
両者とも点間を通っており,勾配に若干の違いがあった程度でした。

     [このページのトップへ]


300. Re^3: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 20:14
> x y
> 1 4200
> 2 6100
> 3 7300
> 4 7850
> 5 8700
> 6 10500
> 7 16540
> で7点目は特異点のようになっており
> y=ax^b
> に強引に近似しました。

ね,データを見せてもらわないと分からないのです。
最小二乗法プログラムって書いてありましたが,指数回帰ですか。

つづく.....みのさんみたいだ(^_^;)

     [このページのトップへ]


301. Re^4: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 20:14
> EXCEL結果は
> a=3944.2
> b=0.5873

この結果はどうやって出しましたか?
log(x),log(y)を前もって計算して回帰分析ツールを使いましたか?
私の用意してあるプログラムでも,そのようにすると同じ結果になりますよ。
http://aoki2.si.gunma-u.ac.jp/JavaScript/exp2.html
にあるプログラムがそれです。

> 先生プログラム結果は
> a=2981.9
> b=0.78503

これは,「非線形最小二乗法」による結果ですね。
http://aoki2.si.gunma-u.ac.jp/JavaScript/fit-exp2.html
あ,Excelでやったとすると,
http://aoki2.si.gunma-u.ac.jp/lecture/stats-by-excel/vba/html/fit_exp2.html
ですね。

> 両者とも点間を通っており,勾配に若干の違いがあった程度でした。

でも,どちらが残差平方和が小さいかというと,後者です。
前者では21403377.83 ,後者では17538031.377506

なお,対数変換して重回帰(直線回帰)するのと非線形回帰では,後者が優れています。
それは,外れ値があろうとなかろうと同じです。

結論:私の計算結果とExcelの計算結果が違ったのは,アルゴリズムが違ったからです。
で,私のプログラムで用いたアルゴリズムの方が優れています。

     [このページのトップへ]


303. Re^5: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  ひの  2002/08/22 (木) 20:45
> なお,対数変換して重回帰(直線回帰)するのと非線形回帰では,後者が優れています。
> それは,外れ値があろうとなかろうと同じです。
>
> 結論:私の計算結果とExcelの計算結果が違ったのは,アルゴリズムが違ったからです。
> で,私のプログラムで用いたアルゴリズムの方が優れています。

対数変換しないほうが優れているとは言えません。誤差分布に関する仮定の異なるモデルですから,現実のデータの誤差分布がどうであるかによってどちらのモデルが適当であるかも異なってきます。データの誤差が対数正規分布に従うなら,対数変換して線形回帰したほうが優れた方法だということになります。

     [このページのトップへ]


304. Re^6: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 21:00
> 対数変換しないほうが優れているとは言えません。誤差分布に関する仮定の異なるモデルですから,現タのデータの誤差分布がどうであるかによってどちらのモデルが適当であるかも異なってきます。データの誤差が対数正規分布に従うなら,対数変換して線形回帰したほうが優れた方法だということになります。

たぶん,あのモデルでは,データの誤差が対数正規分布に従うとは言えないと思います。

     [このページのトップへ]


308. Re^7: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  名無し  2002/08/23 (金) 20:35
色々と難しい話になってしまいよくわかりませんが。
色々とありがとうございます。
残差平方和を比べてみることや,
非線形や重回帰という方法があることを理解しました。
精進したいと思います。(・・;

     [このページのトップへ]


302. Re^5: 最小二乗法プログラムをEXCELと比べると違いがあった場合は  青木繁伸  2002/08/22 (木) 20:38
あてはめ結果を図示してみます。
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/nonlinreg.png
対数変換して直線回帰に持ち込む方法では,x, y の数値の小さい方がより重視されて当てはめられていることが分かります。
対して,非線形回帰ではそのようなわけ隔てがなく,全域で残差平方が小さくなるように当てはめられています。

なお,このデータの場合,7番目(一番右)のデータが外れ値であるということはあてはめ手法上の問題ではないので,7番目に引きずられない直線回帰に持ち込む方法が優れているという論理はなりたちません。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 020 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る