Soy un R novato, pero estoy buscando una manera para determinar los tres parámetros a, B y C se relacionan mediante la siguiente función en R:

y = A * (x1^B) * (x2^C)

Alguien puede darme algunos consejos sobre R método(s) que me ayudan a lograr un montaje?

  • ¿Cuál es la distribución de error que puede suponer? es decir, es normal, log-normal, Cauchy, etc. etc.? Son errores en diferentes observaciones correlacionadas entre sí? Mientras nls mayo ajuste de su factura, puede también dar sesgados e ineficientes estimaciones. Sin el error del modelo, que está literalmente a tientas en la oscuridad.
InformationsquelleAutor Yann | 2012-12-13

3 Comentarios

  1. 6

    Una opción es el nls función como @SvenHohenstein sugerido. Otra opción es convertir su regresión no lineal en una regresión lineal. En el caso de esta ecuación se acaba de tomar el logaritmo de ambos lados de la ecuación y hacer un poco de álgebra y usted tendrá una ecuación lineal. Puede ejecutar la regresión usando algo como:

    fit <- lm( log(y) ~ log(x1) + log(x2), data=mydata)

    La intersección será log(A) para uso exp para obtener el valor, B y C los parámetros será el 2 pistas.

    La gran diferencia aquí es que nls se ajuste con el modelo normal de los errores agrega a la ecuación original y la lm ajuste con los registros se supone que los errores en el modelo original son de una distribución lognormal y se multiplican en lugar de agregarse a la modelo. Muchos conjuntos de datos le dará resultados similares para los 2 métodos.

    • No sé si es posible obtener una estimación del parámetro B, ya que x1 es una constante en mi modelo. Siempre estoy consiguiendo: Coeficientes: (1 no se define porque de singularidades)
    • si x1 es constante, entonces usted podría dejar en la ‘película’ caso, o el uso offset que incluyen un valor B de 1 (o de otros preespecificado de valor).
  2. 5

    Usted puede caber una no lineal de mínimos cuadrados del modelo con la función nls.

    nls(y ~ A * (x1^B) * (x2^C))
    • Usted debe dar a los valores de partida para que esto funcione bien.
    • Y si esto pasa a ser una tarea, tenga cuidado con el perfecto conjunto de datos. Como por ?nls , no convergen a menos que haya ruido en los datos.
    • Tal vez debo mencionar que mi x1 es una constante y por lo tanto siempre aparece este error: singular gradiente de la matriz inicial de las estimaciones de los parámetros
    • Supongo que dos vectores (es decir, y y x2) son insuficientes para la estimación de los tres parámetros. Usted puede ser que desee considerar el uso de un modelo más sencillo.

Dejar respuesta

Please enter your comment!
Please enter your name here