
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
二次関数って、 f(x) = ax^2 + bx + c のことでしょうかね。
だとすると、データ(x[i], y[i]) (i=1,2,…,N)が与えられているときに、残差
ε[i] = f(x[i]) - y[i]
について
E = Σ ε[i]^2 (Σはi=1〜Nの総和)
を最小にするような a, b, cを決定したい、という話のようです。
fはxについては2次式ですけれども、ここで考えている未知数はa, b, cです。そして、a, b, cについてfは1次式です。つまりfは線形モデルであり、線形最小二乗法が使えます。その方法は、
∂E/∂a = 0
∂E/∂b = 0
∂E/∂c = 0
という連立方程式を、未知数a,b,cについて解けば良い、というものです。(もちろん、「fがどの未知数についても1次式になっている(fが線形モデルである)」なら、どれでも同じ事です。)
∂E/∂a = Σ (∂/∂a)(ε[i]^2)
= 2Σ ε[i] (∂/∂a)(ax[i]^2 + bx[i] + c - y[i])
= 2Σ ε[i] x[i]^2
同様に
∂E/∂b = 2Σ ε[i] x[i]
∂E/∂c = 2Σ ε[i]
だから、具体的には
aΣx[i]^4 + bΣx[i]^3 + cΣx[i]^2 - Σy[i]x[i]^2 = 0
aΣx[i]^3 + bΣx[i]^2 + cΣx[i] - Σy[i]x[i] = 0
aΣx[i]^2 + bΣx[i] + cΣ1 - Σy[i] = 0
という連立方程式を解けば良い。(Σ1=Nですね。)未知数はa,b,cです。Σの部分はややこしそうに見えても、それらは与えられたデータから計算できる定数ですから、実はそれぞれ1個の数値に過ぎない。だから、これは鶴亀算で解ける三元連立一次方程式になっているわけです。
この連立方程式を行列で表すと、
matJ =
Σx[i]^4, Σx[i]^3, Σx[i]^2
Σx[i]^3, Σx[i]^2, Σx[i]
Σx[i], Σx[i], N
vectk =
Σy[i]x[i]^2
Σy[i]x[i]
Σy[i]
vectz =
a
b
c
とおいて、
matJ vectz = vectk
という方程式です。ここでmatJの逆行列をinvJとすれば
vectz = invJ vectk
と解けます。
これはExcelの行列の機能を使っても計算できます。
Excel上で、目に見える形で計算できるのが楽しい所ですので、ご自分でチャレンジなさると良い。どうやるかというと、(もちろん、じかにmatJ, vectkを作っても良いのですが、もうちょっと美しくもやれまして、)まず横に
x[i]^2, x[i], 1
と並べた表を作る。縦にN行並ぶことになり、つまりN行×3列の行列になります。(3列目は1ばっかり並んでいる訳です。)この表をmatXと命名する。そして、
=mmult(transpose(matX),matX)
で3行×3列の行列を作ります。これが上記のmatJです。transposeは行列の転置、mmultは行列の積を計算する関数です。また
y[i]
を縦にN行並べた表を作ります。これをvectyと命名する。
= mmult(transpose(matX), vecty)
で3行×1列の行列ができ、これがvectkです。
= mmult(minverse(matJ),vectk)
(ここに、minverseは逆行列を計算する関数です)によって、3行×1列の行列ができ、これがvectzです。だから1行目がa, 2行目がb, 3行目がcです。
なおExcelにおいて、複数のセルにまたがる結果が出る関数を使うのには奇妙なコツが要りますので、マニュアルを参照なさって下さい。
No.1
- 回答日時:
企業でSQCを推進する立場にある者です。
高次多項式の求め方ですよね。
そのためには、まず2次項や積項を生成しなければなりません。
具体的には、元の変数を中心化してから2乗したり、積をとったりします。
https://www.i-juse.co.jp/statistics/support/faq/ …
中心化とは、平均を引く操作です。
技術の世界で行われる「応答曲面法」では
当たり前にやられています。ソフトの中でやってくれるので、
使用者は意識していないことが多いです。
理由は、参考サイトにも書いてありますが、
1次項と高次項の多重共線の発生を抑制するためです。
あとは、普通に重回帰分析をやれば良いです。
推定するときは、変数変換(回帰式を求めたデータの平均で
中心化してから高次項)をお忘れなく。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 計算機科学 C言語 ラグランジュ補間法 について、 あくまでも多項式による近似なので、各点を直線で結んで滑らかに 2 2022/12/11 01:01
- 数学 数学 3次関数の最小値・最大値を求める際 その関数を微分した二次関数を平方完成し最小値を求めるやり方 3 2023/05/02 01:13
- JavaScript 最小二乗法 2 2023/01/01 20:57
- 数学 数学?算数の問題です どのような解答になりますか? 2 2022/04/22 04:46
- 数学 二次関数(二次方程式) 「0=a(x-3)(x-1)」の時aを求めよ この問題って解けませんよね? 4 2023/05/19 12:21
- 数学 4次関数と二重接線に囲まれる面積を求めるときに、まず4次関数と1次関数の交点を求めたいのですが ax 2 2022/10/16 12:42
- 数学 数学(積分) 面積公式について。「1/12公式」 二次関数(放物線)2本と接線一本のパターン におい 2 2023/04/06 16:20
- 数学 √の中がマイナスになった時、iを使って--- 6 2022/05/28 09:10
- 数学 2022 11.11 09:45に投稿した質問に対する2022.11.11 18:40に頂いた解答に 3 2022/12/23 21:28
- 数学 (x-1)(x-2)=0のような因数分解された形でも二次方程式であることには変わりないのでしょうか? 6 2022/08/25 20:11
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シグマの記号の読み方
-
Π←これは一体?
-
近似曲線の数式を手計算で出し...
-
2重ΣΣのΣ記号は交換可能でしょ...
-
10月もあっという間に終わって...
-
数列の和
-
最小二乗法における有効数字に...
-
Σの添え字について
-
exp(x+y)=exp(x)exp(y)を和を計...
-
「f(z)=1/(z^2-1)に関して ロー...
-
誰かお話しませんか??(〃_ _)σ∥
-
二重和(ΣΣ)の計算方法について
-
最小2乗法における連立方程式...
-
和が最大になるような数列の並...
-
数列の合計
-
数学詳しくないので教えてほし...
-
貴方は海と山どちらが好きです...
-
Σと∫って入れ替えできるんです...
-
トムソンのランプのパラドック...
-
数B 数列の和をΣを用いて表す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シグマの記号の読み方
-
近似曲線の数式を手計算で出し...
-
Π←これは一体?
-
Σの添え字について
-
Σの上が2n
-
最小二乗法における有効数字に...
-
平面の計算方法
-
Σ(・ω・ノ)ノ の顔文字の意味
-
2重ΣΣのΣ記号は交換可能でしょ...
-
Σk(k+1) k=1 式を教えて下さい ...
-
Σと∫って入れ替えできるんです...
-
エクセルによる近似(回帰)直...
-
2変数関数の近似曲線
-
数列の問題です。次の数列の和...
-
Σの意味ってなんでしたっけ?
-
数学で答えを教えて欲しいので...
-
a1=1,an+1=an+3n-1 この条...
-
漸化式
-
分散を計算する際の、E(X^2)の...
-
Z=e^(x+y)について2変数のマク...
おすすめ情報