我必须在卡方的两个参数fe(y轴)和fc(x轴)之间绘制轮廓图。该模型是正弦的,
您可以使用三个自由参数fc,fe和t0。 y和x在我们的数据集中。
我两次使用循环,也使用优化来获得t0值,然后使用该值通过优化函数获得卡方值。
fun.to.minimize <- function(params,x,y,error) {
fc <- params[1]
fe <- params[2]
t0 <- params[3]
output <- sum(((y-fc-fe * sin(2* pi *(x- t0)/12))/error)^2)
return(output)
}
x = matrix(, nrow=length(seq), ncol=length(seq))
seq <- seq(0.1,5,0.1)
fun.to.minimize.t0 <- function(params,x,y,error,fc,fe) {
t0 <- params[1]
output <- sum(((y-fc-fe * sin(2* pi *(x- t0)/12))/error)^2)
return(output)
}
for (i in seq){
for (j in seq){
xmin <- optimize(fun.to.minimize.t0 , c(0, 1), fc = i , fe = j , x=frac.month$MONTH, y=frac.month$FRACLOST, error=
frac.month$ERROR )
chisq2.matrix <- optim(c(i,j,xmin$objective), fun.to.minimize, x=frac.month$MONTH, y=frac.month$FRACLOST, error=
frac.month$ERROR)
x[i/.1,j/.1] = chisq2.matrix$value
}
}
我这样做正确吗?还是如果我没有在哪里犯错误,应该采取什么步骤?