newff函数只是初始化一个神经网络,之后还得用train函数训练,训练好的net就是你要的网络。
newff函数的格式为:
net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:
PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;
Si:第i层神经元个数;
TFi:第i层的传递函数,默认函数为tansig函数;
BTF:训练函数,默认函数为trainlm函数;
BLF:权值/阀值学习函数,默认函数为learngdm函数;
PF:性能函数,默认函数为mse函数。
用R语言求置信区间是很方便的,而且很灵活,至少我觉得比spss好多了。如果你要求的只是95%的置信度的话,那么用一个很简单的命令就可以实现了
首先,输入da=c(你的数据,用英文逗号分割),然后t.test(da),运行就能得到结果了。
我的数据是newbomb <- c(28,26,33,24,34,-44,27,16,40,-2,29,22,24,21,25,30,23,29,31,19)
t.test(newbomb)得到的结果如下
如果要求任意置信度下的置信区间的话,就需要自己编一个函数了。
当然,有两点要记住的,置信区间的计算在知道方差和不知道方差的情况下,计算公式是不一样的。
下面做一个两种情况下都可以用的函数。
confint<-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)
}
这个函数的使用:
如果不知道方差,则confint(x,alpha) 知道方差,则confint(x,sigma,alpha)
这样就能计算出结果了。