matlab在統計學中的簡單應用


1.簡單計算

max(最大值) sum(累加和) median(中位數) mean (平均值)

各列積:prod 實際都可以是兩個參數,第二個為1(默認)按列,為二按行

求累計和、累計積、標准方差與升序排序 累計和函數CUMSUM,前n項的和, 累積積CUMPROD, 標准方差STD ,limit(求函數的極限)

2.Matlab實現t檢驗

  T檢驗法:應用t分布理論對正態總體或近似服從正態分布的總體當方差

σ2未知時關於平均數的檢驗方法。

  可以用於比較兩組數據是否來自同一分布。(可以用於比較兩組數據的

區分度)

例 研究矮壯素使玉米矮化的效果,在抽穗期測定噴矮壯素小區8株、對照區玉米9株,

其觀察值如下表:

y1(噴施矮壯素) 160 160 200 160 200 170 150 210 
y2(對照) 170 270 180 250 270 290 270 230 170

  從理論上判斷,噴施矮壯素只可能矮化無效而不可能促進植物長高,因

此假設H0:噴施矮壯素的株高與未噴的相同或更高,,即H0: μ1≥μ2

對HA: μ1<μ2,即噴施矮壯素的株高較未噴的為矮。顯著水平

α=0.05。 

   按ν=7+8=15,查t 表得一尾t0.05=1.753(一尾測驗t0.05等於兩尾測驗

的t0.10),現實得t=-3.05<- t0.05=-1.753,故P<0.05。 推斷:否定

H0: μ1≥μ2,接受HA: μ1<μ2,即認為玉米噴施矮壯素后,其株

高顯著地矮於對照。

1 x=[160  160  200  160  200  170  150  210];
2 y=[170  270  180  250  270  290  270  230  170];
3 [h,p,ci,stats]=ttest2(x,y,0.05,'left')

h =

     1

p =

    0.0040

ci =

      -Inf  -24.3220

stats =

    tstat: -3.0545        df: 15        sd: 38.4599

  計算x和y在5%的顯著性水平下是否來自同一分布(假設是否被接受) 結果:h=0,則表明假設在5%的置信度下被接受,即x,y在統計上可看做

來自同一分布的數據;h=1,表明假設被拒絕,即x,y在統計上認為是來

自不同分布的數據,即有區分度。例如A1,A2兩算法得出的結果分別為x

,y,且從均值上看mean(x)>mean(y),則對[h,sig,ci]=ttest2(x,y);當

h=1時,表明可以從統計上斷定算法A1的結果大於A2的結果(即兩組數據

均值的比較是有意義的),h=0則表示不能根據平均值來斷定兩組數據的

大小關系(因為區分度小)。

例 選生長期、發育進度、植株大小和其它方面皆比較一致的兩株番茄構成一組,共得7組,每組中一株接種A處理病毒,另一株接種B處理病毒,以研究不同處理方法的純化的病毒效果。

組別 y1(A法) y2(B法) d
1 10 25 -15
2 13 12 1
3 8 14 -6
4 3 15 -12
5 20 27 -7
6 20 20  0
7 6 18 -12

1 y1=[10  13    8    3  20  20    6];
2 y2=[25  12  14  15  27  20  18];
3 [h,p,ci,stat]=ttest(y1,y2,0.05,'both')

h =

     1

p =

    0.0203(越大越不好,0.05是邊界值)

ci =

  -12.9797   -1.5917

stat =

    tstat: -3.1309        df: 6        sd: 6.1567

3.方差分析

例 以A、B、C、D4種葯劑處理水稻種子,其中A為對照,每處理各得4個苗高觀察值(cm),試做方差分析。

葯劑 苗高觀察值 總和Ti 平均數
A 18 21 20 13 72 18
B 20 24 26 22 92 23
C 10 15 17 14 56 14
D 28 27 29 32 116 29
     T=336    y=21

1 x=[18  20  10  28; 21 24 15 27; 20 26 17 29; 13 22 14 32]
2 [p,anovatab,stats]=anova1(x)

x =

    18    20    10    28     21    24    15    27     20    26    17    29     13    22    14    32

p =

  5.0626e-005

anovatab =

    'Source'     'SS'     'df'    'MS'        'F'          'Prob>F'         'Columns'    [504]    [ 3]    [   168]    [20.5714]    [5.0626e-005]     'Error'      [ 98]    [12]    [8.1667]           []               []     'Total'      [602]    [15]          []           []               []

stats =

    gnames: [4x1 char]          n: [4 4 4 4]     source: 'anova1'      means: [18 23 14 29]         df: 12          s: 2.8577

4.回歸分析

1 x=[35.5  34.1  31.7  40.3  36.8  40.2  31.7  39.2  44.2]'
2 y=[12  16  9  2  7  3  13  9  -1]'
3 [p,s]=polyfit(x,y,1)

p =

   -1.0996   48.5493

s =

        R: [2x2 double]        df: 7     normr: 8.6410

 

4.散點圖

若直接畫plot(x,y),則是折線圖,

x,y為散點數據, scatter(x,y,'k*'), k為黑色,*為點型是散點圖

若采用數據擬合,繪出的是平滑的曲線

1 x= linspace(1,10,10);
2 y=[1.1 2 4 6 5.5 4.1 7 6.5 9.1 3];
3 a=polyfit(x,y,3);
4 x1=[0:0.01:10];
5 y1=a(4)+a(3)*x1+a(2)*x1.^2+a(1)*x1.^3;
6 plot(x1,y1,'-r')

5.相關分析

[R,P,RLO,RUP]=CORRCOEF(x,y)

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM