r語言統計分析方法?在置信度一定的前提下置信區間的長度越短,其精度越高,估計也就越好實際情況中,通常是給定一定的置信度,求盡可能短的置信區間,下面我們就來說一說關于r語言統計分析方法?我們一起去了解并探讨一下這個問題吧!
在置信度一定的前提下置信區間的長度越短,其精度越高,估計也就越好。實際情況中,通常是給定一定的置信度,求盡可能短的置信區間。
均值的區間估計在《每天一點統計學——構建置信區間》這篇文章中已經介紹過置信區間,現在使用R語言來完成置信區間的計算。計算均值的置信區間,需要分為總體方差已知和總體方差未知兩種情況,下面是均值置信區間的計算函數(程序名:interval_estimate1.R)
interval_estimate1<-function(x,sigma=-1,alpha=0.05){
n<-length(x);
xb<-mean(x);
if(sigma>=0){
tmp<-sigma/sqrt(n)*qnorm(1-alpha/2);
df<-n;
} else {
tmp<-sd(x)/sqrt(n)*qt(1-alpha/2,n-1);
df<-n-1
}
data.frame(mean=xb,df=df,a=xb-tmp,b=xb tmp);
}
在程序中,x是來自總體的樣本數據,sigma是總體的标準差,當标準差已知時,輸入相應的值,程序采用正态分布計算區間端點,當标準差未知時,輸入項可缺省,程序采用t-分布計算區間端點。aplha是顯著性水平,缺省值為0.05.函數以數據框的形式輸出,輸出的内容有:樣本均值mean,自由度df和均值區間估計的上下限a、b。
例子:某工廠生産的零件長度X被認為服從N( μ,0.04),先從該産品中随機抽取6個,其長度的測量值如下(單位:毫米)
14.6,15.1,14.9,14.8,15.2,15.1
試求該零件長度的置信系數為0.95的區間估計
解:輸入數據,調用函數interval_estimate1()
> source("interval_estimate1.R")
> X<-c(14.6,15.1,14.9,14.8,15.2,15.1)
> interval_estimate1(X,sigma = 0.2)
得到
mean df a b
1 14.95 6 14.78997 15.11003
因此,該零件長度的置信系數為0.95的區間估計[14.79,15.11]
例子:為估計一件物體的重量μ,将其稱了10次,得到的重量(單位:千克)為:
10.1,10,9.8,10.5,9.7,10.1,9.9,10.2,10.3,9.9
假設所稱物體重量服從N(μ ,σ^2),求該物體μ置信系數為0.95的置信區間。
解:輸入數據,調用函數interval_estimate1()
> source("interval_estimate1.R")
> Y<-c(10.1,10,9.8,10.5,9.7,10.1,9.9,10.2,10.3,9.9)
> interval_estimate1(Y)
得到
mean df a b
1 10.05 9 9.877225 10.22278
因此,該物體μ置信系數為0.95的置信區間為[9.87,10.22]
再使用R語言的t.test()檢驗函數完成相應的區間估計工作:
> t.test(Y)
One Sample t-test
data: Y
t = 131.59, df = 9, p-value = 4.296e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
9.877225 10.222775
sample estimates:
mean of x
10.05
得到了相應的區間估計函數[9.88,10.22]和其他一些信息。t.test()函數得到的區間估計與我們編寫的函數得到的區間估計是相同的,從這裡可以幫助大獎了解t.test()函數的計算過程。
方差的區間估計計算方差的置信區間,需要分為總體均值已知和總體均值未知兩種情況,下面是方差置信區間的計算函數(程序名:interva_var1.R)
interval_var1<-function(x,mu=Inf,alpha=0.05){
n<-length(x)
if(mu<Inf){
S2<-sum((x-mu)^2)/n;
df<-n;
}else{
S2<-var(x);
df<-n-1
}
a<-df*S2/qchisq(1-alpha/2,df);
b<-df**S2/qchisq(alpha/2,df);
data.frame(var=S2,df=df,a=a,b=b)
}
在程序中,x是來自總體的樣本數據,mu是總體的均值,當均值已知時,輸入相應的值,程序采用自由度為n的卡方分布計算區間端點,當均值未知時,輸入項可缺省,程序采用自由度為n-1的卡方分布計算區間端點。aplha是顯著性水平,缺省值為0.05。函數以數據框的形式輸出,輸出的内容有:樣本方差var,自由度df和方差區間估計的上下限a、b。
例子:為估計一件物體的重量μ,将其稱了10次,得到的重量(單位:千克)為:
10.1,10,9.8,10.5,9.7,10.1,9.9,10.2,10.3,9.9
下面用區間估計的方法計算這次測量的測量誤差,
>#輸入數據,調用編寫好的程序
> source("interval_var1.R")
> X<-c(10.1,10,9.8,10.5,9.7,10.1,9.9,10.2,10.3,9.9)
>#作方差的區間估計,如果均值為10
> interval_var1(X,mu=10)
var df a b
1 0.055 10 0.0268513 0.3495597
>#作方差的區間估計,如果均值未知
> interval_var1(X)
var df a b
1 0.05833333 9 0.02759851 0.420957
當均值已知(μ =10),其方差的區間估計為[0.0268,0.169],當均值未知時,其方差的區間估計為[0.0276,0.194]。從計算結果來看,在均值已知的情況下,計算結果更好一些。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!