No.01334 EXCELを用いた多項式近似  【ちゃー坊】 2006/10/16(Mon) 11:25

EXCELのグラフウィザードの散布図を用い,次のデータでグラフを作成し多項式近似を行いました。
X=0  5  10  15
y=0 35.2 54.4 68.8
そ の結果,y=0.0149x^3-0.544x^2+9.3867x-4E-12,R^2=1となり,各ポイントと曲線は全て一致した結果でしたが,上記 の多項式にx=8を代入しても,y=55.906になり,x=10のときのy=54.4よりも小さな値になってしまいます。原因がわかりません。

No.01336 Re: EXCELを用いた多項式近似  【青木繁伸】 2006/10/16(Mon) 17:45

貴方が書いた計算式に従うと y=47.9064になるんですが?
それと,得られた近似式は0〜15の範囲で単調増加なのでx=10のときのy=54.4よりは小さくなって当たり前ではないかと思います。
なお,与えられたデータ点に3次式を当てはめたとき,係数は
Coefficients:
Estimate
(Intercept) -1.7225804116449694e-15
x 9.3866666666666667e+00
I(x^2) -5.4400000000000059e-01
I(x^3) 1.4933333333333377e-02
となり,x=8のときのyの値は47.923199999999980 になると思います。

Excelは相変わらず,計算精度を考えていないのと,似たようなことをする機能の結果を統一できない(あっちは少し良くなってもこっちは前のまま悪い。。みたいな)

Excelは捨てた方がいいです。

No.01337 Re: EXCELを用いた多項式近似  【ちゃー坊】 2006/10/16(Mon) 18:29

青木先生,ありがとうございました。
EXCELのバグかと早合点しましたが,私の単純ミスでした。ごめん なさい。EXCELで再計算した結果,y=47.9064になり,やはりRより計算精度がかなり低いようです。余談ですが,Rはインストールしたのです が,まだまだ使いこなせません。よろしければ,Rのプログラムを提示していただけないでしょうか。

No.01338 Re: EXCELを用いた多項式近似  【青木繁伸】 2006/10/16(Mon) 19:03

表示桁数を多くしたり,元に戻したりとか余計なことをしているのと,
これよりスマートなやり方もあるけど,オーソドックスな方法?ということで
x <- c(0, 5, 10, 15)
y <- c(0, 35.2, 54.4, 68.8)
ans <- lm(y~x+I(x^2)+I(x^3))
#ans <- lm(y~I(x^3)+I(x^2)+x) # 誤差の出方がちょっと違う
old <- options(digits=20) # 表示桁数変更
summary(ans)
new.x <- 8
sum(ans$coefficients*c(1, new.x, new.x^2, new.x^3))
options(old) # 表示桁数を元に戻す

No.01342 Re: EXCELを用いた多項式近似  【ちゃー坊】 2006/10/17(Tue) 10:23

何とか,Rのプログラムが動きました。感激!!
ありがとうございました。

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