• ベストアンサー

多項式近似

エクセルであるデータの散布図を作りました。 ばらつきがみられたので、近似曲線をどうしようかと思ったのですが、6次の多項式近似を行ったところ、プロットした点をほぼすべて正確に通る近似曲線がひけました。 その近似式の式は y==3E-10*x^6 - 8E-08*x^5 + 8E-06*x^4 - 0.0004*x^3 + 0.0091*x^2 - 0.0695x + 0.3314 でした。 R^2も0.999でほとんど1だったので、このデータ(曲線)の式=近似曲線の式とみなしてもいいと思ったのですが、ダメなのでしょうか? 実際のデータではx=97.12561のときy=6.37なのですが、この式に代入するとy=-14になってしまいます。 なぜでしょうか? E-10というのは10^(-10)ということで正しいですよね?

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

  • ベストアンサー
  • info22
  • ベストアンサー率55% (2225/4034)
回答No.5

#1さんも言われているように単なる各項の有効桁数の不足による桁落ち誤差ですね。 多項式の各項の係数が1桁では、計算精度も高々1桁ですね。 x=97.12 ... ≒100=10^2ですから y≒3*10^2-8*10^2+8*10^2-4*10^2+0.91*10^2-0.0695*10^2+0.003314*10^2 ≒(3-8+8-4+0.9-0.1+0.0)*10^2 ≒(-1.1+0.9)*10^2=-0.2*10^2 この計算は100の位だけが有効桁で10の桁は誤差の範囲に含まれ、有効桁数0桁に桁落ちしているということです。 なので100の桁が有効な桁なので、y=6.37もy=-14も見かけだけの数値で、その値が100より1桁以上、下の桁なので数値的意味はありません。 正確にy=6.37まで計算するには係数の有効桁数を6桁与えて計算し最後の桁を四捨五入しないといけないですね。 従って、エクセルで与える有効桁数を6桁以上にして計算しないといけないですね。エクセルの中では有効桁数は15桁(表示指定しなければ表示されないだけ)なので計算はその精度でやっています。 その係数を、人が介在して、表示されている係数データ(有効桁数を表示していない)を使って、近似多項式を書き写して入力しなおす作業で、有効桁数1桁の近似式になってしまいます。 >R^2も0.999でほとんど1だった これは、エクセル中の表示されていない正確なデータを使って計算した数値だからです。 エクセルの中で保持しているデータの数値と、デホルト設定(あるいはエクセル使用者が設定した桁数設定)の表示データとは異なりますので、表示データをそのまま他で使わないように注意しないといけないですね。

megabuss
質問者

お礼

ご回答ありがとうございました。 R^2についてのご回答ありがとうございました。。 これぞ僕が本当に聞きたかったことでした。 ありがとうございました。

その他の回答 (6)

  • bluemtg
  • ベストアンサー率37% (6/16)
回答No.7

データ数が7個で、6次の多項式近似をを行ったのではないのでしょうね。 データ数:Nに対し、(N-1)次式で近似させれば当然R^2は1になりますよね。 近似式をグラフ化すれば分かるのですが、横軸の数値の少しの変化に対し、縦軸は大きく変化しますが、理論的にそれでよいのですか。 一般的にデータの数が少ないときに高次式で近似すると、失敗する場合場が多いと思います。

megabuss
質問者

お礼

今回の件については大丈夫だと思います。 しかし、R^2=1に近ければすべてよいというわけではないとは考えたことがありませんでした。 ありがとうございました。

  • f272
  • ベストアンサー率46% (8019/17138)
回答No.6

すでに皆さんが近似曲線の係数の精度についてはおっしゃっているので、それ以外のことを言ってみます。 あるデータの近似曲線として6次の多項式が適当なのかどうか? もしあるデータがなにかの物理モデルで表せるような現象を表しているのならば、たとえそれが正確にデータ点を通らないとしても、そのモデル式で近似すべきです。その点は大丈夫ですか? また6次の多項式近似を行って得た近似式は、その元となったデータの存在する範囲では正確かもしれませんが、その範囲外では保証されません。そのような使い方をしようとしていませんか? 以上のような点に注意してくださいね。

megabuss
質問者

お礼

皆さんと違ったことをわざわざ教えていただき、ありがとうございました。 今回については考えるべき範囲で曲線は近似曲線とほぼ一致したので問題ないとおもいます。 しかし、それは意識していませんでした。 ありがとうございました。

noname#101087
noname#101087
回答No.4

 「プロットした点をほぼすべて正確に通る近似曲線」なのに、  「実際のデータではx=97.12561のときy=6.37なのですが、この式に代入するとy=-14になる」 というのは、両立しないような気もしますが…。 プロットしたグラフでも y=6.37 と y=-14 では、不一致が目立つのでは? とりあえず x=97.12561 にて項別試算してみました。 交互に正負になり、正負それぞれを合算してから引き算すると、正項合計がおよそ 1050 、これにマイナス分を加えると -14.8 まで桁落ちしますね。 係数をちょいと振ってみると、y の変化率が大きく、係数感度が大きいみたいです。 慎重な取り扱いを要する式だとしかわかりませんが。  

megabuss
質問者

お礼

ご回答ありがとうございました。 計数の微妙な違いが結果に大きく響くということはすべての回答者様が教えてくださっていますね。 それほど大事なこということを覚えておきます。 ありがとうございました。

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.3

前回回答に、 「本当は2桁目以降もあるのですが、エクセルの表示上の都合で、1桁だけしか表示されないのでしょう。」 と書きましたが、それは無視ですか? エクセルちゃんは、2桁目以降も「知っている」のに、1桁目しか出してくれていないということです。

megabuss
質問者

お礼

再びご回答ありがとうございました。 無視したつもりはございません。 >>本当は・・・とは 表示される係数の桁が省略されており、表示する桁数を増やすと結果に大きな違いが生じるということを言っているだけだと思い、上の文章ではR^2はどの式についての相関関数なのかわかりませんでしたので、補足をつけさせていただいたのです。 ですので補足で聞いたのはR^2のことでした。 R^2がほとんど1にも関わらず、なぜ実際とまったく違う値が算出されるのか。 僕はここで表示されているR^2は、実際に表示された式についての相関関数だと思っていたのですが、R^2は表示されている式ではなく、真の式(2桁目の桁数も考慮した式)についての相関関数を表しているのですね。

  • inara1
  • ベストアンサー率78% (652/834)
回答No.2

添付したグラフは x^6 の係数をほんの少し変えたときの近似曲線です。 ANo.1さんのご指摘の通り、次数の大きな項の係数の有効数字の2桁目が変わるとこんなにも変わります。x^5 や x^4 の係数の有効数字も1桁しかありませんが、この桁数を増やせば解決すると思います。 Excel の近似式は、普通に数式表示させると、小さい数値を有効数字1桁で丸めてしまうという致命的な欠点があります。ご存知とのことですが、この質問を初めて見る人のために、有効数字を増やす方法を以下に書いておきます。    数式をダブルクリック → 表示形式 → 指数 → 小数点以下の桁数を増やす

megabuss
質問者

お礼

ご回答ありがとうございました。 わざわざ図をつけてまでの親切なご回答で助かりました。 ありがとうございました。

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.1

こんにちは。 前にも似たような質問に答えたことがあるのですが、 xの次数が大きい項ほど、yの値に与える影響が大きくなります。 したがって、xの次数が高い項の係数が重要なのですが、 その近似式では、x^6、x^5、x^4、x^3 の係数の有効数字が1桁しかありませんよね。 そこが問題です。 本当は2桁目以降もあるのですが、エクセルの表示上の都合で、1桁だけしか表示されないのでしょう。 1つの案ですが、 t = y×10^7 と置いて、tとxの散布図を作れば、係数の有効数字が2桁以上表示されると思いますので、 やってみられては。 (私、他のソフトを使っていますので、エクセルで確認した回答ではありませんが・・・) ご参考になりましたら幸いです。

megabuss
質問者

補足

ご回答ありがとうございます。 おっしゃる意味はよくわかります。 実際式の書式設定から表示する桁数をふやすやり方もしっています。 しかし、R^2がほとんど1なのに実際のプロットデータと算出した値とでこうも違いがでるものなのでしょうか? 統計学などはわからないのであまり詳しいことはしりませんが、僕のなかではR^2というのは実際のデータと近似曲線のズレをあらわした値だと思っています。 値が1に近いほどズレは少ないということではないのでしょうか? つまりR^2=1だとしたら 実際のデータ=近似曲線と思っているのですが・・・。

関連するQ&A

  • 近似曲線と近似式の結果のちがい

    X軸1200、900、600、300 Y軸900、600、480、300 これを散布図でグラフ化して、多項式(3次)で近似曲線を表示すると ちゃんと4点を通過する曲線が表示されます。 ところが、この近似曲線の近似式を表示させて、その式にXの値を入力すると、 グラフとまるでかけ離れた数値になります。 データ数が少なすぎるためでしょうか。

  • Excelの近似曲線で求めた式の検算が合わない?

    Excel2007 Windows Vista です。 A1~A5のセルに順次 8809 8876 8831 8929 8917 と入力しました。 B1~B5のセルに順次 215014 225187 233321 218311 213570 と入力しました。 これらのデータから、 挿入→散布図→散布図(マーカーのみ)→レイアウト→近似曲線→ その他の近似曲線オプション→多項式近似→次数(4とした)→グラフに数式を表示する→ グラフにR-2乗値を表示する と操作すると、 y=0.0001X^4-3.962X^3+50923X^2-3E+08X+6E+11 R^2=1 と表示されます。 ここで検算の意味で X=8809 と入力すると y=-1.97285E+11 となって y=215014 とはなりません。 どこがまずいのでしょうか。 宜しくお願いいたします。

  • 多項式の近似曲線について

    こんにちは グラフから多項式の近似曲線の方程式を導いたのですが 式が一般に私が目にする形と違い困惑しています。 よろしければ以下の方程式の「-2-09E」の意味を何方か 教えて下さい。 y = -2E-09x6 + 9E-07x5 - 0.0001x4 + 0.0108x3 - 0.4158x2 + 5.2939x + 530.17

  • 近似曲線からはずれるデータの抽出・削除

    最適な近似曲線を引く際に、明らかに誤差とされるデータを除いた上で行ないたいと考えています。 つまり、散布図のようなプロットに近似曲線を引いたとき、 極端にその近似曲線から外れているとされるデータを抽出し、削除する方法を探しています。 例えば、 X 1 2 3 4 5 Y 1 3 100 7 9 のとき、三番目のYのみを削除し、求めたい近似曲線に最適化したいです。 回答よろしくお願いします。

  • 1/x^2のような近似曲線の求め方

    いつもお世話になっています. 近似曲線の求め方について,教えてほしく投稿しました. X軸とY軸の2軸からできる散布図のデータプロットが手元にあります. このデータに対して,y=A(1/x^2)+B,のようにX値の2乗の逆数としての近似曲線を求めたいのですが,その方法を教えてもらえますか? エクセルで求めようとしたのですが,標準で選択できる近似曲線では,このような近似方法はなく,どうすればよいか困っております. よろしくお願いします.

  • エクセル対数近似曲線のX値を代入、Y値の求め方

    初めて質問させていただきます。 エクセル2003で散布図グラフを作成し、対数近似曲線を表示させたところ、以下の方程式が表示されました。 y=2E+06Ln(x)-4E+06 この式にXの値を代入して、Yの値を求めようと思い、X=25, 30, 35, 40・・・を代入してみたところ、Yの値が、対数近似曲線のグラフの位置と一致しないで困っています。 たとえば、X=25を代入して、Y=2*10^6*Ln(25)-4*10^6で計算すると、Y=2,437,742となります。一方、対数近似曲線のX=25のところを見ると、Y=3,000,000ぐらいになっています。 アドバイスを頂けると大変助かります。よろしくお願いいたします。

  • エクセルによるデータの近似式について

    (x,y)の組が100ぐらいあり、x→yを計算するための高次多項式近似を求める問題です。やり方は定型処理ですからエクセルに任せました。エクセルだと6次式まで対応してくれました。近似式による線(自動的にグラフで表示される)とプロットした点はほぼ満足できるものでした。そもそもデータ(x,y)はプロットしてみると滑らかですし、高次多項式による近似式で十分対応できるな、と思えるものです。 ところが、です。 この高次多項式の係数を表示して、その通りの関数で表計算してみてプロットすると、グラフの右方向(すなわちXが増えると)急激にデータから離れていくのです。不思議なのはその式で計算されているはずの近似式の線(自動で出力された線)からも離れていくのです。一方、Xが小さいところではしっかり一致しています。 原因として考えられるのは、多項式の高次項の係数の桁が大雑把ということがあります。2e-9*x^6+3e-6*x^5......0.0123*x+23.194 というような感じの多項式です。x^6の項の係数が2e-9というのは有効桁数が小さすぎるように思います。これが原因かなと思っているのですが。いかがでしょうか。また、それが原因ならどうやって修正すればよいでしょうか。ほかに原因と対策がありましたら教えて頂きたいのですが。

  • Excelで近似式の標準偏差を算出する方法について

    非常に基本的なことをうかがいます。 ExcelでXとYの値が下記のように変化する様子を散布図で描き,2変量の関係を多項式にて求めると下記の式が導出されました。 変数 X  Y 10 100 15 200 20 400 25 800 30 1600 近似式 y = 4.5714x2 - 110.86x + 780 R² = 0.9939 この近似式における標準偏差(正確に言うと予測されるyの標準偏差)はどのように算出すればいいのでしょうか? よろしくお願いいたします。

  • 微分の3次近似多項式について少し質問です><

    微分の3次近似多項式について少し質問です>< お願いします。 f(x,y)=e^xyの3次近似多項式を求める問題があったのですがやってみたところ fx=ye^xy   fy=xe^xy fxx=y^2・e^xy   fyy=x^2・e^xy fxxx=y^3・e^xy   fyyy=x^3・e^xy fxy=e^xy+xye^xy fxyx=2ye^xy+xy^2・e^xy fxyy=2xe^xy+x^2・y・e^xy となり近似式にいれるためにそれぞれに(0,0)を代入するとf(0,0)とfxy(0,0)以外すべて0になってしまうのでおかしいのではないかと思い質問しました。 どこがまちがってしまっているでしょうか?? どうしても分からないので教えてください。 ^xyはxy乗ということを、fxはxでの微分を意味します。 お願いします

  • 散布図からの近似曲線、近似式の出し方(Xの値が大きくなると、ある一定のYの値に限りなく近づく場合)

    少々複雑な酵素反応から得られた、あるデータから散布図を書きます。 これから求められる曲線は、Xの値が大きくなると、Yの値は、ある一定の値に限りなく近づくと考えられます。 (プラトーに達するという意味です。反応系から行っても、多分、そうなると予測はつきます。) しかし、マイクロソフトExcelでは、そのような近似曲線はかけません。 このような近似曲線(近似式)は、何というのでしょうか? このような近似曲線および、近似式、R2乗値、がでるフリーソフトウェアが教えて頂けないでしょうか? 実際にやりたいのは、その近似式を使い、Yが特定の数値の場合、Xの値はいくつなのかを計算したいと考えています。 わかりづらい質問で恐縮ですが、大変困っています。 どうぞ、よろしくお願いします。