[[20170325091007]] 『LINEST関数で得られたyをintすると』(mujina) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『LINEST関数で得られたyをintすると』(mujina)

 LINEST関数を使い、既知の(x,y)から線形近似曲線 y=mx+bを得ます。

 もともとの(x,y)は、xは整数(範囲1〜100)、yは小数部を持つと予想されますが、intされた数字しか明らかになっていません。
 (x,y)はともに整数で入力し、出力されるm,bはともに小数部を持ちます。

 サンプルとして5〜10ほどの(x,y)を入力します。
 この時精度の高い近似曲線y=mx+bは得られるのですが、このyをintすると元の(x,y)に対し(x,y−1)になることがあります。
 与えられた(x,y)に対し近似曲線の式が上回ることがあるからだと思いますが、これを回避する方法はあるのでしょうか。

 わかりにくい説明でしたらごめんなさいご教示よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 >intすると

 整数を得ようとINT()関数を使っているのでしょうが、
 ROUND(y,0) で処理すればいいんじゃないですか?

(半平太) 2017/03/25(土) 10:11


 元の数値に対してズレが生じる可能性があるのでは・・・とも思ったけど、自分で考えても現実的にはroundで十分な気もしました(書き込んでから思いました)。
 数学的に想定される元の式が復元できないのが気持ち悪いだけで、サンプル数増やせばroundでも再現可能・・・だとは思う、ただその証明ができないのでスッキリしないだけかもしれません。
 与えるyを1.01倍ほどして式に当てれば求める感じの傾きになるかもしれない・・・誤魔化しだとは思うけど機能的によい方法がない以上いろいろやってみたいと思います。
(mujina) 2017/03/25(土) 13:48

  率直に言って、何が問題で、何を再現したいのか、こちらは分からないです。

  具体的なサンプルで、「何がどうなるべきなのに、どうなってしまうが、対策如何?」
  と言う形の質問にして頂けませんか?

  一般論としては、エクセルは、小数が絡むと全てと言っていいほど誤魔化し処理になります。

(半平太) 2017/03/25(土) 14:17


横から失礼。
アウトライアー(外れ値)ならば、1だけでなくもっと差がつくことだって普通にあるでしょう。
それを避けるのは困難としかいいようがありません。
ですから、何が問題なのか、というご指摘に賛成します。

(γ) 2017/03/25(土) 14:30


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.