No.3ベストアンサー
- 回答日時:
No1の方が書いておられるように、これは厳密には非線形の最小二乗法になります。
ただし、単にそう書いても、質問者の方にはわからないと思いますので、具体的かつ実用的なやり方を書きましょう。
と言っても、簡単です。
まず、cとして、適当な値c1を仮定します。
すると、
y-c1=a1e^b1x
の最小二乗法に帰着され、a1,b1が求まります。
この時の残差を、z1とします。
z1=Σ(yi-c1-a1e^b1xi)^2
次に、cの増分値をΔcとして、
c2←c1+Δc
と置いて、また最小二乗法を適用し、残差z2を求めます。
z2=Σ(yi-c2-a2e^b2xi)^2
さらに、
c3←c1+2Δc
と置いて、また最小二乗法を適用し、残差z3を求めます。
この段階で、cに対して残差zをプロットし、2次関数近似してみましょう。
うまくいけば、極小値がこの範囲内にみつかります。
この2次関数から直接、または、初期値c1と増分値Δcをもっと適切な値となるように設定するなりして極小値の存在範囲を狭めてから2次関数近似して、この極小値cを求めましょう。
最後にもういちど、cに対する最小二乗法を適用して、係数a,bを求めれば、それが答です。
もし、cに対するzが、単調増加、あるいは単調減少になってしまったら?
この場合、Δcが大きすぎると、極小値が範囲内にあるにも関わらず、単調増加あるいは単調減少になってしまっている可能性も高いので、c1,c2,c3は変えず、Δcを1/2にして、c1とc2、c2とc3の間の値を求め、全5点をプロットしてみます。
本質的に単調増加あるいは単調減少なら、傾向に変化はないはずです。この場合には、zが小さくなる方向にcの初期値と増分値Δcを選びなおして、再計算してみましょう。
区間内に極小値がある場合には、傾向が”それらしく"変化しますから、増分値をもっと細かくして、極小値を押さえれば良いのです。
慣れてくれば、2次関数近似といわず、最初から絨毯爆撃的にcを規則的に変化させながらzの動きを把握していくなどの小ざかしい方法を覚えるようになりますが、最後は極小値の存在する区間の3個の値から2次関数近似することには変わりがありません。(2次関数近似は扱いが簡単で便利ですから。)
No.2
- 回答日時:
(xi,yi)のデータの組n個(つまり、i=1,2,...,n)を使って、パラメータa,b,cを最適化したいのですよね? 電卓を叩けば答えが出るような、高校で言うところの「公式」はありません。
やり方の「公式」ならあります。どんなに複雑な式でも、基本は同じです。
まず、グラフを書いてみたりする事によって、a,b,cの見込みの値、a1,b1,c1を決めます(これが結構面倒なのですが・・・)。次に各xiに対して、a1,b1,c1を使って計算した値Yiを求めます。このYiと実際のデータyiとの差を二乗したものをi=1からi=nまで足し上げます。これを残差平方和と言います。パラメータが最適の時には残差平方和は最小となります(最小二乗法の原理)。パラメータとしてa1,b1,c1を使った時の残差平方和をS(a1,b1,c1)と書きましょう。次にパラメータとしてa2,b1,c1を使ってS(a2,b1,c1)を求めます。もしS(a2,b1,c1)がS(a1,b1,c1)よりも小さければ、パラメータの組として(a2,b1,c1)が(a1,b1,c1)よりも優れている事が分かります。このような改善を繰り返していけば、最適なパラメータの組が得られます。データは不確かさを含んでいるので、パラメータの最適化もある程度のところで止めて差し支えありません。
計算に費やす時間を短くしたい場合は、「パラメータが最適の時には残差平方和は最小となる」という条件を、「パラメータが最適の時にはSを各パラメータで偏微分するとゼロになる」と読み替えます。その上でニュートン法を使うと、(最初の見込みが大体合っていればですが、)効率良く最適値に近づく事ができます。
もっとも、式とデータを入力すれば自動的に最小二乗法を実行してくれるアプリもありますけどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
字面がカッコいい英単語
あなたが思う「字面がカッコいい英単語」を教えてください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
指数関数近似を行うプログラムを早急に作成する必要があり、
数学
-
対数の最小ニ乗法のやり方を教えて下さい
数学
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3の(1)が解けません…。どなたか...
-
IIRフィルタについて
-
どれだけ似てるかを統計的に解析
-
同時分布関数について。 Pr{a1...
-
統計ソフトRの重回帰分析につい...
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセルで特定の文字が入って...
-
エクセル 文字数 多い順 並...
-
エクセルでオートフィルタのボ...
-
エクセルで時刻(8:00~20:00)...
-
エクセルで、2種類のデータを...
-
Excelで半角の文字を含むセルを...
-
エクセル(勝手に太字になる)
-
Excel関数:「0」を除いた標準...
-
「B列が日曜の場合」C列に/...
-
えエクセルで○は1とし△は0.5で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ベクトルの内積を考えるとき、θ...
-
エクセルで1と入力すると〇倍 2...
-
5元連立方程式を解きたい
-
vb.net 関数での割り算
-
Σa[n]/Σb[n]に関する不等式
-
数II・Bの数列の問題です a1+a3+...
-
エクセルのVBAで範囲指定に変数...
-
箱桁の重心位置の公式
-
最小二乗法での指数関数の計算
-
論理関数、IFとANDを組み...
-
再投稿ですいません。前の質問...
-
Maximaで非可換代数計算を行う方法
-
エクセル関数 オートフィルタの...
-
エクセルでif関数を組んだので...
-
同時分布関数について。 Pr{a1...
-
EXCELで2つの数値のうち大きい...
-
Excelで隣のセルと同じ内容に列...
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルでオートフィルタのボ...
おすすめ情報