㈠ 如何用matlab線性回歸分析
在matlab中regress()函數和polyfit()函數都可以進行回歸分析。
(1)regress()函數主要用於線性回歸,一元以及多元的。它可以提供更多的信息,殘差之類的。
(2)polyfit()函數是利用多項式擬合。可以是線性也可以是非線性的。
regress()函數詳解
[b,bint,r,rint,stats]=regress(y,X,alpha)
說明:b是線性方程的系數估計值,並且第一值表示常數,第二個值表示回歸系數。bint是系數估計值的置信度為95%的置信區間,r表示殘差,rint表示各殘差的置信區間,stats是用於檢驗回歸模型的統計量,有三個數值其中有表示回歸的R2統計量和F以及顯著性概率P值,alpha為置信度。
相關系數r^2越大,說明回歸方程越顯著;與F對應的概率P<alpha時候拒絕H0,回歸模型成立。
y表示一個n-1的矩陣,是因變數的值,X是n-p矩陣,自變數x和一列具有相同行數,值是1的矩陣的組合。如:對含常數項的一元回歸模型,可將X變為n-2矩陣,其中第一列全為1。
ONES(SIZE(A)) is the same size as A and all ones。
利用它實現X=[ones(size(x))x]
(2)polyfit()函數詳解-------------摘自sina小雪兒博客
p=polyfit(x,y,n)
[p,s]= polyfit(x,y,n)
說明:x,y為數據點,n為多項式階數,返回p為冪次從高到低的多項式系數向量p。x必須是單調的。矩陣s用於生成預測值的誤差估計。(見下一函數polyval)
多項式曲線求值函數:polyval( )
調用格式: y=polyval(p,x)
[y,DELTA]=polyval(p,x,s)
說明:y=polyval(p,x)為返回對應自變數x在給定系數P的多項式的值。
[y,DELTA]=polyval(p,x,s) 使用polyfit函數的選項輸出s得出誤差估計Y
DELTA。它假設polyfit函數數據輸入的誤差是獨立正態的,並且方差為常數。則Y DELTA將至少包含50%的預測值。
㈡ matlab回歸分析 急~
%你的問題就是在矩陣轉置中用了中文標點,應該用英文的'轉置,這樣就對了
x1=[16.5 20.5 26.3 16.5 19.2 16.5 20.2 21.3 17.2 14.3 18.1 23.1 19.1 24.7 18.6 24.9 17.9 22.4 20.2 16.9]';
x2=[6.2 6.4 9.3 5.3 7.3 5.9 6.4 7.6 4.9 6.4 6.0 7.4 5.8 8.6 6.5 8.3 6.7 8.6 8.4 6.7]';
x3=[587 643 635 692 1248 643 1964 1531 713 749 7859 762 2793 741 625 854 716 921 595 3353]';
X=[ones(20,1) x1,x2,x3];
y=[11.2 13.4 40.7 5.3 24.8 12.7 20.9 35.7 8.7 9.6 14.5 26.9 15.7 36.2 18.1 28.9 14.9 25.8 21.7 25.7]';
[b,bint,r,rint,stats]=regress(y,X)
㈢ matlab 如何做回歸分析
最多30
㈣ 如何用matlab線性回歸分析
回歸分析是處理兩個及兩個以上變數間線性依存關系的統計方法。可以通過軟體Matlab實現。
在Matlab中,可以直接調用命令實現回歸分析,
(1)[b,bint,r,rint,stats]=regress(y,x),其中b是回歸方程中的參數估計值,bint是b的置信區間,r和rint分別表示殘差及殘差對應的置信區間。stats包含三個數字,分別是相關系數,F統計量及對應的概率p值。
(2)recplot(r,rint)作殘差分析圖。
(3)rstool(x,y)一種互動式方式的句柄命令。
㈤ Matlab回歸分析求助
y=[64 60 71 61 54 77 81 93 93 51 76 96 77 93 95 54 468 99]';
x1=[0.4 0.4 3.1 0.6 4.7 1.7 9.4 10.1 11.6 12.6 10.9 23.1 23.1 21.6 23.1 1.9 26.8 29.9]';
x2=[53 23 19 34 24 65 44 31 29 58 37 46 50 44 56 36 58 51]';
x3=[158 163 37 157 59 123 46 117 173 112 111 114 134 73 168 143 202 124]';
x=[ones(18,1),x1,x2,x3];
[b,bint,r,rint,stats]=regress(y,x,0.05);
b
stats
以上是程序,你找個電腦黏貼運行下就可以了。
運行的結果是:
b=
-43.3990
3.8088
0.1132
0.7405
其中y關於x1,x2,x3的線性方程就是:
y=b[0]+b[1]*x1+b[2]*x3+b[3]*x3;註:b[0~3]就是程序輸出b值的第一個到第四個。
stats= 0.3563 2.5836 0.0948(有的Matlab可能會輸出四個來),第一個為R^2,要盡可能的趨向1;第二個為F,應該盡可能的大;第三個為p,應該盡可能的趨向0;以上三個都符合要求的話,就說明回歸有效。這里看來參數都不是很好。
㈥ matlab回歸分析怎麼做
X=[1 1 4 6 8 11 14 17 21]'
Y=[2.49 3.30 3.68 12.20 27.04 61.10 108.80 170.90 275.50]'
X=[ones(9,1), X]
[b,bint,r,rint,stats]= regress(Y,X)
輸出向量b,bint為回歸系數估計值和它們的置信區間,r,rint為殘差及其置信區間,stats是用於檢驗回歸模型的統計量,有三個數值,第一個是R2,其中R是相關系數,第二個是F統計量值,第三個是與統計量F對應的概率P,當P<α時拒絕H0,回歸模型成立。
㈦ 怎麼使用matlab進行回歸分析
regress可以解決多元線性回歸,非線性回歸轉換後也可以解
polyfit是一元的多項式回歸,[p,s]=polyfit(x,y,2)
中的2是多項式中自變數的最高次數,即y=a+b*x+c*x^2
㈧ 如何用matlab進行逐步回歸法分析
1、首先打開matlab軟體。
㈨ 這個函數如何用MATLAB做回歸分析
%頻率f=200HZ時的功率損耗P 頻率f=200HZ時的磁通密度B
f200=[...
0 0
0.0202 0.0986
0.2422 0.1965
0.5669 0.297
0.9856 0.386
1.5267 0.5033
1.9857 0.5986
2.5501 0.7047
3.2647 0.8005
3.8349 0.9005
4.5841 1.0088
5.3828 1.1121]
%頻率f=400HZ時的功率損耗P 頻率f=400HZ時的磁通密度B
f400=[...
0 0
0.3021 0.1213
1.5389 0.2906
3.6475 0.465
5.7369 0.5813
8.5828 0.7034
12.0755 0.8138
15.3202 0.9301
17.4234 0.9882
20.0979 1.046
24.1486 1.1626]
%頻率f=600HZ時的功率損耗P 頻率f=600HZ時的磁通密度B
f600=[...
0 0
0.4041 0.0961
2.1445 0.2019
4.3697 0.3022
7.1724 0.4029
10.0814 0.509
13.6833 0.6039
16.6288 0.7104
19.406 0.793
22.3278 0.8662
30.0574 1.0157
36.9484 1.1188]
%頻率f=800HZ時的功率損耗P 頻率f=800HZ時的磁通密度B
f800=[...
0 0
0.8124 0.1023
7.577 0.3383
9.8396 0.4006
12.389 0.4579
15.0481 0.5049
18.15 0.5659
20.7824 0.6016
22.2516 0.6333
26.2724 0.7165
31.0376 0.8022
37.0017 0.9184
38.8358 0.9626]
%頻率f=1000HZ時的功率損耗P 頻率f=1000HZ時的磁通密度B
f1000=[...
0 0
1.1048 0.0976
2.6826 0.1506
4.5832 0.1994
7.4259 0.252
9.7112 0.2931
12.4144 0.3522
16.0366 0.3991
19.661 0.4662
21.465 0.4981
24.5958 0.548
29.0272 0.6154
33.9305 0.6844
43.2031 0.8]
f=[ones(size(f200),1)*200;ones(size(f400),1)*400;ones(size(f600),1)*600;ones(size(f800),1)*800;ones(size(f1000),1)*1000]
P=[f200(:,1);f400(:,1);f600(:,1);f800(:,1);f1000(:,1)]
B=[f200(:,2);f400(:,2);f600(:,2);f800(:,2);f1000(:,2)]
X=[f,B];
%P=a*f*B*X+b*f2*B2+c*f1.5*B1.5
y=inline('a(1)*x(:,1).*x(:,2)+a(2)*x(:,1).^2.*x(:,2).^2+a(3)*x(:,1).^1.5.*x(:,2).^1.5','a','x')
BETA0=[1 1 1]
format short G
BETA = nlinfit(X,P,y,BETA0)
[P y(BETA,X) (P-y(BETA,X))./P] %實際值、預測值、誤差
結果:
BETA =
-0.030741 -6.732e-005 0.0048601
ans =
0 0 NaN
0.0202 -0.20678 11.237
0.2422 -0.11469 1.4736
0.5669 0.16146 0.71519
0.9856 0.52226 0.47011
1.5267 1.1318 0.25863
1.9857 1.7213 0.13316
2.5501 2.4622 0.034473
3.2647 3.1983 0.020338
3.8349 4.0268 -0.050036
4.5841 4.9857 -0.087615
5.3828 5.9539 -0.1061
0 0 NaN
0.3021 -0.0074369 1.0246
1.5389 1.608 -0.044893
3.6475 4.2819 -0.17394
5.7369 6.4446 -0.12336
8.5828 8.9588 -0.043807
12.076 11.404 0.055621
15.32 14.122 0.078229
17.423 15.525 0.10894
20.098 16.948 0.15674
24.149 19.885 0.17654
0 0 NaN
0.4041 0.13161 0.67431
2.1445 1.7682 0.17546
4.3697 4.0792 0.066491
7.1724 6.9018 0.037722
10.081 10.272 -0.01889
13.683 13.544 0.01015
16.629 17.435 -0.048508
19.406 20.574 -0.060213
22.328 23.424 -0.049089
30.057 29.382 0.022478
36.948 33.558 0.091771
0 0 NaN
0.8124 0.63157 0.22258
7.577 8.3884 -0.10708
9.8396 11.118 -0.12989
12.389 13.781 -0.11233
15.048 16.054 -0.06684
18.15 19.101 -0.052416
20.782 20.927 -0.0069522
22.252 22.57 -0.01429
26.272 26.958 -0.026102
31.038 31.56 -0.016844
37.002 37.864 -0.023311
38.836 40.266 -0.036826
0 0 NaN
1.1048 1.0446 0.054445
2.6826 2.8259 -0.053405
4.5832 4.8784 -0.064399
7.4259 7.4206 0.00071124
9.7112 9.5944 0.01203
12.414 12.947 -0.042873
16.037 15.759 0.017338
19.661 19.96 -0.015183
21.465 22.014 -0.025591
24.596 25.285 -0.02803
29.027 29.784 -0.026063
33.931 34.447 -0.015226
43.203 42.295 0.021016
a*X合並為一個常數