データがあり、取得するにはデータに対して線形回帰を実行する必要があります
y=アルファ*x+ベータ
アルファとベータは回帰によって与えられる推定量であり、ポリフィットは問題のないものを私に与えることができますが、これは物理科学のレポートであり、これらの値の誤差推定量を与える必要があります
統計から、単純な線形回帰係数には標準偏差が存在することがわかります。
Matlabで計算するにはどうすればよいですか?
ありがとうございました
データがあり、取得するにはデータに対して線形回帰を実行する必要があります
y=アルファ*x+ベータ
アルファとベータは回帰によって与えられる推定量であり、ポリフィットは問題のないものを私に与えることができますが、これは物理科学のレポートであり、これらの値の誤差推定量を与える必要があります
統計から、単純な線形回帰係数には標準偏差が存在することがわかります。
Matlabで計算するにはどうすればよいですか?
ありがとうございました
最も簡単な解決策は、LSCOVを使用することです。
%# create some data
x = 1:10;
y = 3*x+randn(size(x))*0.1;
%# create the design matrix
A = [x(:),ones(length(x),1)];
[u,std_u] = lscov(A,y(:));
u =
3.0241
-0.070209
std_u =
0.018827
0.11682
コマンドの2番目の出力はregress
、回帰係数の95%信頼区間を示します。次に例を示します。
>> x = [ones(100,1), (1:100)'];
>> alpha = 3; beta = 2;
>> y = x*[alpha; beta]+randn(100,1);
>> [coeffs, coeffints] = regress(y,x);
>> coeffs
coeffs =
2.9712
1.9998
>> coeffints
coeffints =
2.5851 3.3573
1.9932 2.0064
ここで、アルファは2.9712と推定され、95%信頼区間は2.5851から3.3573の間であり、ベータは1.9998と推定され、95%信頼区間は1.9932から2.0064の間です。
または、95%信頼区間の長さが2 * 1.9654標準誤差であるという関係を使用するだけで、上記の回帰を使用した例の標準誤差は次のようになります。
stエラー=(coeffints(:、2)-coeffints(:、1))/(2 * 1.9654)。
数値1.9654は、回帰関数の正規性の仮定のために表示されます