r语言区间估计用的函数在哪个文件夹

Python07

r语言区间估计用的函数在哪个文件夹,第1张

1、 方差已知时的均值估计

z.test<-function(x,n,sigma,a,u0,alt){

result<-list()

mean<-mean(x)

result$interval<-c(mean-sigma*qnorm(1-a/2,0,1)/sqrt(n),mean+sigma*qnorm(1-a/2,0,1)/sqrt(n))

z<-(mean-u0)/(sigma/sqrt(n))

p<-pnorm(z,lower.tail=F) #函数笔记:lower.tail是真的话,得出的就是X<=x的分位数,为假的话就是用P(X>x)的办法寻找这个值。一般我们用默认的真就可以了

result$z<-z

result$p.value<-p #通过P值判定参数估计效果

if(alt==2)

reslut$p.value<-2*pnorm(abs(z),lower.tail=F)

else

reslut$p.value<-pnorm(z)

reslut#函数笔记:如果函数的结果需要有多个返回值,可以创建一个list(),并返回该对象。也可以用return()函数,设定返回值。但是一个函数的返回的对象只有一个。

}

2、 方差未知时的均值估计

在小样本中,我们通常使用R的内置函数t.test()调用格式:

t.test(x, y = NULL,

alternative = c("two.sided", "less","greater"),

mu = 0, paired = FALSE, var.equal = FALSE,

conf.level = 0.95, ...)

对于大样本,我们可以使用样本方差代替总体方差,使用z.test()处理

3、 方差的区间估计

chisq.var.test<-function(x,n,a,alt=2,sigma0=1)

{

result<-list()

v<-var(x)

result$interval<-c((n-1)*v/qchisq(1-a/2,n-1,lower.tail=T),(n-1)*v/qchisq(a/2,n-1,lower.tail=T))

chi2<-(n-1)*v/sigma0

result$chi2<-chi2

p<-pchisq(chi2,n-1)

if(alt==2)

result$p.value<-2*min(pchisq(chi2,n-1),pchisq(chi2,n-1,lower.tail=F))

else

result$p.value<-pchisq(chi2,n-1,lower.tail=F)

result

}

从第一行开始,N直到pai,都是赋值语句。其中x1和x2是长度为N,类型为十进制小数的向量。

runif是生成一个随机数,取值在-1到1之间。for循环语句生成具体的两个向量,即x1和x2,其中的每个数都用runif来生成。

紧接之后的if语句用来计数n,其条件为如果对于数值x1[i]和x2[i],如果点(x1[i],x2[i])位于单位圆内,n就加1。一共循环N次。

最后就得出值pai = 4*n/N。

看下来不像是一个参数值估计程序。

中f指定所要求解方程的函数:interval是一个数值向量,指定要求解的根的区间范围:或者用lower和upper分别指定区间的两个端点tol表示所需的精度(收敛容忍度):maxiter为最人迭代次数。

如果遇到多元方程的求解,就需要利用rootSolve包的函数multiroot()来解方程组。multiroot()用于对n个非线性方程求解n个根,其要求完整的雅可比矩阵,采用Newton-Raphson方法。其调用格式为:

multiroot(f, start, maxiter = 100,

rtol = 1e-6, atol = 1e-8, ctol = 1e-8,

useFortran = TRUE, positive = FALSE,

jacfunc = NULL, jactype = "fullint",

verbose = FALSE, bandup = 1, banddown = 1,

parms = NULL, ...)

f指定所要求解的函数由于使用的是牛顿迭代法,因而必须通过start给定根的初始值,其中的name属性还可以标记输出变量的名称maxiter是允许的最大迭代次数rtol和atol分别为相对误差和绝对误差,一般保持默认值即可ctol也是一个用于控制迭代次数的标量,如果两次迭代的最大变化值小于ctol,那么迭代停止,得到方程组的根。

例如,己知某种保险产品在一个保单年度内的损失情况如下所示,其中给出了不同损失次数下的保单数,我们对损失次数的分布进行估计。已知分布类型是泊松(Poisson ) ,其样本均值即为参数λ的矩估计。