• 締切済み

シミュレーションを元に得られた近似式の有効桁と平均2乗誤差について

卒業研究で「有限バッファモデルの待ち行列シミュレーションを行い、その結果(呼損率やバッファ使用率、平均待ち時間等)をもとに近似式を導き出す」 ということをやっているのですが、結果として出した近似式について、教授にもっと簡単な式にするべきと言われました。 近似式はシミュレーション結果をExcelにプロットし近似曲線を引くことで得ています。 助言として次の2点を言われています。 ・式の係数は2桁ないし、1桁ぐらいにしてみる ・平均2乗誤差を使う 実際、以下のようにExcelで得た線形近似or多項式近似の式の係数を削り、平均2乗誤差を出してみました。 ※(0.01 <= x <= 0.50、0.01刻み)の範囲での実験結果です y = 0.3181x2 + 0.0399x - 0.0018    ↓ y = 0.32x2 + 0.04x - 0.0018 平均2乗誤差:4.89E-07 x=0.01の時の99%信頼区間:3.76E-05 <= y <= 8.04E-05 x=0.50の時の99%信頼区間:5.38E-03 <= y <= 9.67E-02 xの値が0.01に近い所と0.50に近い所では、明らかに有効な桁が変わってきて、係数を削った影響も異なると思うのですが、 単純に平均2乗誤差だけを見て精度を落とさず、近似できていると結論付けてよいものなのでしょうか? 長文になってしまいましたが、何か助言できる方いましたら、力をお貸しください。 よろしくお願い致します。

みんなの回答

  • masa2211
  • ベストアンサー率43% (178/411)
回答No.2

>xが小さいほど分散も小さな値になっている為、xの値によって0.0012の持つズレの意味も異なってくるとは思うのですが。 >そもそも、このようなデータの場合、xの範囲によってどの程度誤差を無視していいのか、がいまいち掴めておりません。。 当初、yがいったい何を意味するのか、また、99%信頼区間とはいったい何のことなのか さっぱりわからなかったので、その部分はスルーしました。 まず、yは呼損率ということは、負の値はとらないわけだし、 x=0のときy=0 は確定しているようです。 その場合、回帰式を選定する際に、 x=0のときy=0 になるような式を選定します。 具体的には、 y=Ax2+Bx など。 excelで計算する場合、 多項式近似で2次式--切片=0にチェックマーク で計算できます。 そして、これで充分とは思いますが、問題が無いわけではありません。 excelで計算した近似式とは、(回帰式-シミュレーション値) のズレ具合と yの大きさには無関係と仮定されてしまっている点。 今回の場合、明らかに、yが小さいほどズレの絶対値は小さいということがいえます。 このような場合の方法について。 まず、Y=y/xとします。 で、xとYでグラフを書くと、うまいことに xの大きさにかかわらずyの分散は一定だし、xとYの関係は直線になります。 したがって、 Yに対し普通の最小2乗直線回帰(excelの切片付の直線回帰) を求め、その値を Y=Ax+B  とすると、 あとは、この式をy=...に直すだけなので y=Ax2+Bx  (AもBもそのまま使える) となります。 ※こんなことしなくも、excelで、切片ゼロの2次式を求めても大丈夫(そんなことまで教授は求めていない可能性が大きい。)とは思いますが、  小さい値の誤差を追求する場合、こういった方法でできます。

  • masa2211
  • ベストアンサー率43% (178/411)
回答No.1

EXCELで2次式の回帰をしたということは、最小2乗法で係数を求めたということです。 この場合、 測定値(x,y)の組に対し、回帰式(x,f(x))を考えた場合、 (Σ(f(x)-y)^2)/nが最小となるように回帰係数が求まります。 で、回帰係数の有効桁を落とした場合、その関数を(g(x))とすると (Σ(z(x)-y)^2)/nがはたしてどのくらいになるか。 (Σ(f(x)-y)^2)/nと、大して変わらないなら、係数の有効桁を何桁も書く理由はありません。 極端にいえば、 y=0.3x^2+0.05x-0.002 と丸めたとします。これでも、当初の4桁係数の式の値と比べ、 最大でも0.0012しか違いません。 0.0012違うことが意味を持つかどうかは、シミュレーション結果がどれだけ式からズレているかによります。ですので、シミュレーション結果の データが無いので、何ともいえません。 あと、 >簡単な式にすべき とは、係数の有効桁が少ないということでなく、係数の数が少ないことを意味するので、 たとえば、 y=(0.61x+0.01)^2 y=0.35x2+0.023x を近似式の候補にあげておきます。

behind_up
質問者

お礼

ご回答ありがとうございます。 いくつか質問させて頂いてもよろしいでしょうか。 y=0.3x^2+0.05x-0.002に丸めた場合の0.0012の持つ意味についてですが、 以下が今回の式を導いた元データになります。 ※シミュレーション10回試行の平均と分散(一部略) x(呼量) y(呼損率) 分散 0.01 0.000059 4.32E-10 0.02 0.000198 1.31E-09 0.03 0.000469 5.34E-09 0.04 0.000837 1.36E-08 0.05 0.001258 1.02E-08 0.06 0.001783 1.45E-08 0.07 0.002463 3.04E-08 0.08 0.003155 4.14E-08 0.09 0.003847 1.96E-08 0.1 0.00472 7.62E-08 0.11 0.00578 8.81E-08 0.12 0.006912 4.64E-08 0.13 0.008112 1.33E-07 0.14 0.00922 9.96E-08 0.15 0.010562 6.35E-08 0.16 0.012066 1.48E-07 0.17 0.0134 1.10E-07 0.18 0.01523 1.33E-07 0.19 0.016646 8.76E-08 0.2 0.018571 1.81E-07 0.25 0.028188 1.41E-07 0.3 0.039225 4.29E-07 0.35 0.051804 1.37E-06 0.4 0.065664 2.97E-07 0.41 0.068876 6.08E-07 0.42 0.071305 1.01E-06 0.43 0.074426 2.51E-07 0.44 0.07745 4.07E-07 0.45 0.0807 1.15E-06 0.46 0.083312 1.59E-06 0.47 0.086467 1.36E-06 0.48 0.09061 1.70E-06 0.49 0.093025 1.28E-06 0.5 0.095857 6.71E-07 xが小さいほど分散も小さな値になっている為、xの値によって0.0012の持つズレの意味も異なってくるとは思うのですが。 そもそも、このようなデータの場合、xの範囲によってどの程度誤差を無視していいのか、がいまいち掴めておりません。。 データ全体の特性からして、小さい値の誤差はある程度諦めるべきなのか。それとも小さい桁での誤差の影響を少なくする為には、また別の近似方法が必要なのでしょうか? >あと、 >>簡単な式にすべき >とは、係数の有効桁が少ないということでなく、係数の数が少ないこ>とを意味するので、 >たとえば、 >y=(0.61x+0.01)^2 >y=0.35x2+0.023x >を近似式の候補にあげておきます。 なるほど。式を簡単にするとは係数の数が少ないということですね。 提示して頂いた式の方が単に丸めた式よりも実用的にも楽ですし、グラフの特性に近づいていると思います。 式をこのように変形するにはどのようなアプローチが必要なのでしょうか? 数学的知識が少ないため、あまり複雑な計算を必要としなければいいのですが。。

関連するQ&A