LeastSquares
LeastSquares[m,b]
行列方程式 m.x==b について線形最小二乗問題を解く x を与える.
LeastSquares[a,b]
配列方程式 a.x==b についての線形最小二乗問題を解く x を求める.
詳細とオプション
- LeastSquares[m,b]は,Norm[m.x-b]を最小にするベクトル x を与える.
- Length[x]==MatrixRank[m]の場合にのみ,ベクトル x は,この最小化によって一意的に決定される.
- 引数 b は行列でもよい.その場合,最小二乗による最小化は,Norm[m.x-b,"Frobenius"]を最小化する x である b 中の各列について別々に行われる.
- LeastSquaresは数値行列にも記号行列にも使うことができ,SparseArrayオブジェクトにも使うことができる.
- LeastSquares[a,b]は,n1×…×nk×m 配列 a と n1×…×nk×d1×…×dl 配列 b に対して m×d1×…×dl 配列 x を返すが,これはNorm[Flatten[a.x-b]]を最小化する.
- オプションMethodmethod を使って使用するLeastSquaresのメソッドが指定できる. 以下は,method の可能な設定である.
-
Automatic メソッドを自動選択する "Direct" 密または疎な行列に直接法を使う "IterativeRefinement" 反復改良法を使って密な行列についてのよりよい解を得る "LSQR" 機械精度数の密または疎な行列にLSQR反復法を使う "Krylov" 機械精度数の疎な行列に反復法を使う
例題
すべて開くすべて閉じる例 (2)
スコープ (12)
基本的な用法 (7)
特殊行列 (4)
LeastSquares[IdentityMatrix[n],b]はベクトル を与える:
HilbertMatrixの最小二乗:
オプション (1)
Tolerance (1)
m は20×20のヒルベルト(Hilbert)行列であり,b は m.x==b の解が分かっているようなベクトルである:
デフォルトの許容範囲では,数値の丸めは限られており誤差が分配される:
Tolerance->0とすると,数値の丸めで法外な誤差が導入される:
アプリケーション (9)
最小二乗の幾何学 (4)
LeastSquares[m,b]は の解を求めることと理解できる.ただし,は の列空間への の正射影である.次の と について考える:
これはLeastSquaresが与える結果に等しい:
次の と についてLeastSquares[m,b]とLinearSolve[m,b⟂]が返す答を比較説明する:
LeastSquaresが返す解を求める:
xとxPerpは異なるが,m.x==m.xPerpなのでどちらも最小二乗問題を解く:
2つの解はNullSpace[m]の要素分だけ異なる:
線形独立列を持つ行列に行列射影演算子を使って,次の と についてLeastSquares[m,b]を求める:
LeastSquaresを使って確かめる:
次の と について,LeastSquares[m,b]で求まった解とLinearSolveを の正規方程式と一緒に使って求まった解を比較する:
LeastSquaresを使って解く:
LinearSolveと正規方程式 を使って解く:
xとxNormalは異なるが,m.x==m.xNormalなのでどちらも最小二乗問題を解く:
2つの解はNullSpace[m]の要素分だけ異なる:
曲線とパラメータのフィット (5)
LeastSquaresを使ってデータに最もフィットする曲線が求められる.次のデータについて考える:
の最小化が線 へのフィットになるように が列 と列 を持つとする:
Fitを使って係数を確かめる:
の最小化が へのフィットになるように が列 ,,を持つものとする:
Fitを使って係数を確認する:
健康な子供の最高血圧 (水銀柱ミリメートル)と体重は (ポンド)はほぼ方程式 の関係にある.次の実験的なデータ点を使って体重が100ポンドの健康な子供の最高血圧を推定する:
DesignMatrixを使って列 とを持つ行列を構築する:
ケプラー(Kepler)の第1法則によると,彗星の軌道は を満足する.ただし, は定数で は離心率である.離心率は軌道タイプを決定する.なら楕円で なら放物線,なら双曲線である.次の観測データを使って彗星の軌道タイプを決定し,における太陽からの距離を予測する:
および を求めるために,まずDesignMatrixを使って列がと である行列を作成する:
LeastSquaresを使って計画行列からの における誤差を最小にする と を求める:
区間[t-2,t+2]をサポートする t を中心とする三次基底関数を定義する:
特性と関係 (12)
m.x==b が解ける場合,LeastSquaresはLinearSolveと等価である:
x=LeastSquares[m,b]と n がNullSpace[m]にあるなら,x+n もまた最小二乗解である:
LeastSquares[m,b]は を解く.ただし,は の列への正射影である:
この特定の行列には自明な零空間があるため,等式は保証された:
が実数値なら,x=LeastSquares[m,b]は正規方程式 に従う:
x==LeastSquares[m,b]なら,m.x-b はNullSpace[ConjugateTranspose[m]]にある:
m.ls-b は,予想通り,2つのベクトルのスパン内にある:
LeastSquaresとPseudoInverseはどちらも最小二乗問題を解くために使うことができる:
LeastSquaresとQRDecompositionはどちらも最小二乗問題を解くために使うことができる:
LeastSquares[m,b]はベクトル b についてはArgMin[Norm[m.x-b],x]に等しい:
これはまたArgMin[Norm[m.x-b,"Frobenius"],x]とも等価である:
LeastSquaresは行列 b についてはArgMin[Norm[m.x-b,"Frobenius"],x]に等しい:
b が行列なら,LeastSquares[m,b]の各列は b の対応する列についての結果である:
LeastSquaresは正規誤差を含む線形モデルのパラメータ推定を与える:
LinearModelFitはモデルをフィットし,フィットに関する追加的な情報を与える:
テキスト
Wolfram Research (2007), LeastSquares, Wolfram言語関数, https://reference.wolfram.com/language/ref/LeastSquares.html (2024年に更新).
CMS
Wolfram Language. 2007. "LeastSquares." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/LeastSquares.html.
APA
Wolfram Language. (2007). LeastSquares. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LeastSquares.html