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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
二次関数の近似式を求めるために最小二乗法を用いると画像のような式を使うようなのですが、どうやって得ら
数学
-
フーリエ級数の問題で、f(x)は関数|x|(-π<x<π)で同期2πで
数学
-
RLC回路の用途について。
物理学
-
-
4
2次の最小二乗法
数学
-
5
エクセルで二次の最小二乗法をやるやり方を教えてください。
Excel(エクセル)
-
6
近似曲線の数式を手計算で出したい。
数学
-
7
x(π−x)をフーリエ級数展開してください。 その結果を用いて以下の等式を証明してください。 1/(
数学
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Π←これは一体?
-
Σの添え字について
-
近似曲線の数式を手計算で出し...
-
Σの上が2n
-
Σk(k+1) k=1 式を教えて下さい ...
-
シグマの記号の読み方
-
Σ[n=1..∞]1/n^4=π^4/90を求める...
-
(sinx)^3のテイラー展開を項別...
-
a1=1,an+1=an+3n-1 この条...
-
Σと∫って入れ替えできるんです...
-
二重和(ΣΣ)の計算方法について
-
Σの下にくるk=1のkってなに...
-
Σ計算について
-
2重ΣΣのΣ記号は交換可能でしょ...
-
最小二乗法における有効数字に...
-
数列の問題です。次の数列の和...
-
Σ(・ω・ノ)ノ の顔文字の意味
-
偏差平方和の式
-
グループ分けの問題
-
数列
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報