5 votos

Cómo obtener el valor de p y los intervalos de confianza para nls funciones?

Tengo 2 preguntas.

1) ¿Cómo puedo tener la p.valor para mi 2 funciones? Mi hipótesis es que tengo una correlación entre mis funciones y mis datos.

2) ¿Cómo puedo tener un intervalos de confianza para mi 2 funciones?

library(ggplot2)
g <- function (x, a,b,c) a * (1-exp(-(x-c)/abs(b)))
X1 <- c(129.08,109.92,85.83,37.72)
Y1 <- c(0.7,0.5,0.39,-1.36)
dt1 <- data.frame(x1=X1,y1=Y1)
model1 <- nls(Y1 ~ g(X1, a, b, c), 
          start = list(a=0.5, b=60, c=50),control=nls.control(maxiter = 200))

ggplot(data = dt1,aes(x = x1, y = y1)) + 
     theme_bw() + geom_point() + 
     geom_smooth(data=dt1, method="nls", formula=y~g(x, a, b, c),
       se=F, start=list(a=0.5, b=60, c=50))


f <- function (x, a, b, c) a*(x^2)+b*x+c   
X2 <- c(589.62,457.92,370.16,295.98,243.99,199.07,159.91,142.63,
124.15, 101.98, 87.93, 83.16, 82.2, 74.48, 47.68, 37.51, 31,
27.9, 21.24,18.28)
Y2 <- c(0.22,0.37,0.49,0.65,0.81,0.83,1,0.81,0.65,0.44,0.55,0.63,
0.65,0.55,0.37,0.32,0.27,0.22,0.17,0.14)
dt2 <- data.frame(x2=X2,y2=Y2)
model2 <- nls(Y2 ~ f(X2, a, b, c), 
           start = list(a=-1, b=3, c=0),control=nls.control(maxiter = 200))
ggplot(data = dt2,aes(x = x2, y = y2)) + 
      theme_bw() + geom_point() + 
      geom_smooth(data=dt2, method="nls", formula=y~f(x, a, b, c),
       se=F, start=list(a=-1, b=3, c=0))

Gracias de antemano

4voto

Bittercoder Puntos 4692

1. - Podría intentar (esto es una aproximación)

library(nls2)  
summary(as.lm(model))  
  • Usted puede obtener un p-valor de todos los parámetros utilizados en el modelo a través de

    resumen(modelo)

  • Usted puede obtener los valores de p para un modelo en comparación con la otra ("nested") modelo de uso de la

    anova(model1, model2)

    donde el modelo 2 es una versión simplificada del modelo 1 (es tu hipótesis nula)

  • Puede utilizar los métodos de un bootstrapping), para obtener una medida de la probabilidad de ajuste del modelo completo.

    2.

  • Usted puede conseguir posiblemente el modelo completo intervalo de confianza utilizando (esto es una aproximación)

    biblioteca(nls2) predecir(como.lm(model2), interval = "confianza")

  • Usted puede obtener el intervalo de confianza de los parámetros a través de

    confinar(modelo)

  • Puede obtener más información acerca de estos parámetros intervalos de usar

    perfil(modelo)

    parcela(perfil(modelo))

  • Usted puede obtener el par sabio intervalo de confianza para dos de sus parámetros (por tanto el trazado y para obtener la matriz) el uso de

    elipse.nls(modelo)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X