Autor Tema: Ajuste por mín. cuadrados cuando valor es (tiende) a infinito,¿no se usa o cómo?

0 Usuarios y 1 Visitante están viendo este tema.

19 Octubre, 2017, 06:31 pm
Leído 755 veces

Hasclepio

  • Novato
  • Mensajes: 175
  • Karma: +0/-0
  • Sexo: Masculino
Hola

Tengo que hallar la distribución de una serie temporal (un conjunto muy elevado de valores de una variable) que sé que se ajusta a una distribución Weibull. Sabiéndolo parto de la forma de función de probabilidad acumulada:

\( F(x)=\left\{\begin{array}{ll}1-e^{-\left(\frac{x}{c}\right)^k},\,x\geq 0\\0,\qquad \quad \;\; x<0\end{array}\right. \)

Y tomo logaritmos en ambos miembros buscando una ecuación de una recta:

\( \color{red}log(-log(1-F)\color{black})=k log\left(\frac{x}{c}\right)=k(log(x)-log(c)) \)

Entonces la pregunta es, ¿qué hago con los datos experimentales \( x=0 \) y \( F=1 \), ya que me aparecen valores para los que no están definidos los logaritmos neperianos. Por ejemplo, el primero tiene mucho sentido físico (podría ser viento cero), y el segundo la distribución para  el último valor de la velocidad.

¿Los tengo que desechar?

Un saludo y muchas gracias

Edito porque no escribí bien el mensaje.

20 Octubre, 2017, 10:40 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 47,016
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

 ¿Que problema hay con \( x=1 \)?.

 Por otro lado para gestionar el valor \( x=0 \) puedes sumar a todos los valores un \( \epsilon \) suficientemente pequeño; por ejemplo menor que la precisión de los datos.

Saludos.

20 Octubre, 2017, 11:30 am
Respuesta #2

Hasclepio

  • Novato
  • Mensajes: 175
  • Karma: +0/-0
  • Sexo: Masculino
Hola

 ¿Que problema hay con \( x=1 \)?.

 Por otro lado para gestionar el valor \( x=0 \) puedes sumar a todos los valores un \( \epsilon \) suficientemente pequeño; por ejemplo menor que la precisión de los datos.

Saludos.

Hola

No, no es \( x=1 \) si no el valor de \( x \) para el cual \( F=1 \), es decir: el más elevado de x (que no tiene por qué ser uno). Por escribirlo rápido lo puse incorrectamente, he editado el mensaje y resaltado el rojo. Es decir, todas las muestras con \( x=0 \) y el valor de \( x \) tal que \( F=1 \), en ambos me aparecen \( log(0) \), \( log \) como neperiano. Estoy ajustando con valores \( (xi, Fi) \).

Sí, sé que puedo sumar un valor suficientemente pequeño, pero cuando se trata de un volumen de muestras alrededor de \( 10^5 \) o más, no puedo hacer eso. Por ejemplo, la precisión de la medida podría rondar el orden de magnitud de ese epsilon. Es decir, físicamente no puedo hacerlo.

Mi duda es matemática, ¿esas muestras de \( x \) que implican logaritmos de cero, he de eliminarlas si realizo un ajuste por mínimos cuadrados?

Muchas gracias

20 Octubre, 2017, 11:48 am
Respuesta #3

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 47,016
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

No, no es \( x=1 \) si no el valor de \( x \) para el cual \( F=1 \), es decir: el más elevado de x (que no tiene por qué ser uno). Por escribirlo rápido lo puse incorrectamente, he editado el mensaje y resaltado el rojo. Es decir, todas las muestras con \( x=0 \) y el valor de \( x \) tal que \( F=1 \), en ambos me aparecen \( log(0) \), \( log \) como neperiano. Estoy ajustando con valores \( (xi, Fi) \).

Entiendo. Pero la frecuencia acumulada exactamente igual a 1 sólo te aparece necesariamente para el último dato; y ahí si es razonable quitar ese único dato.

Citar
Sí, sé que puedo sumar un valor suficientemente pequeño, pero cuando se trata de un volumen de muestras alrededor de \( 10^5 \) o más, no puedo hacer eso. Por ejemplo, la precisión de la medida podría rondar el orden de magnitud de ese epsilon. Es decir, físicamente no puedo hacerlo.

No acabo de entender muy bien porque no puedes hacerlo. Si el error de los datos es de \( \pm \delta \), pues les sumas o les restas por ejemplo \( \delta/2 \).

Citar
Mi duda es matemática, ¿esas muestras de \( x \) que implican logaritmos de cero, he de eliminarlas si realizo un ajuste por mínimos cuadrados?

Para ser sincero no sabría decirte con toda seguridad como gestionar el asunto. Busca información sobre "weibull distribution fitting". Por ejemplo:

https://stats.stackexchange.com/questions/19866/how-to-fit-a-weibull-distribution-to-input-data-containing-zeroes

https://cran.r-project.org/doc/contrib/Ricci-distributions-en.pdf

Saludos.

20 Octubre, 2017, 11:56 am
Respuesta #4

Hasclepio

  • Novato
  • Mensajes: 175
  • Karma: +0/-0
  • Sexo: Masculino
Hola

No, no es \( x=1 \) si no el valor de \( x \) para el cual \( F=1 \), es decir: el más elevado de x (que no tiene por qué ser uno). Por escribirlo rápido lo puse incorrectamente, he editado el mensaje y resaltado el rojo. Es decir, todas las muestras con \( x=0 \) y el valor de \( x \) tal que \( F=1 \), en ambos me aparecen \( log(0) \), \( log \) como neperiano. Estoy ajustando con valores \( (xi, Fi) \).

Entiendo. Pero la frecuencia acumulada exactamente igual a 1 sólo te aparece necesariamente para el último dato; y ahí si es razonable quitar ese único dato.

Citar
Sí, sé que puedo sumar un valor suficientemente pequeño, pero cuando se trata de un volumen de muestras alrededor de \( 10^5 \) o más, no puedo hacer eso. Por ejemplo, la precisión de la medida podría rondar el orden de magnitud de ese epsilon. Es decir, físicamente no puedo hacerlo.

No acabo de entender muy bien porque no puedes hacerlo. Si el error de los datos es de \( \pm \delta \), pues les sumas o les restas por ejemplo \( \delta/2 \).

Citar
Mi duda es matemática, ¿esas muestras de \( x \) que implican logaritmos de cero, he de eliminarlas si realizo un ajuste por mínimos cuadrados?

Para ser sincero no sabría decirte con toda seguridad como gestionar el asunto. Busca información sobre "weibull distribution fitting". Por ejemplo:

https://stats.stackexchange.com/questions/19866/how-to-fit-a-weibull-distribution-to-input-data-containing-zeroes

https://cran.r-project.org/doc/contrib/Ricci-distributions-en.pdf

Saludos.

Por supuesto, puedo quitar datos pero (no sé si me estoy explicando bien) he de saber de antemano que no hay otro camino para proceder. Sabiendo eso me pongo manos a la obra (esta todo programado en R).

Matemáticamente sumar esa cantidad es perfecto, exacto (como lo son las matemáticas). Desde el punto de vista físico hay que tener mucho cuidado porque son muchísimas muestras (aunque den un mismo valor) y ver si afecta o no a otras magnitudes.  También tengo que invertir después matrices de datos  y esos números tan pequeños desde el punto de vista del cálculo numérico meten unos errores muy grandes (cuando están dividiendo, por ejemplo), teniendo que modificar (al menos considerar) si me va a afectar mucho o no.

Muchas gracias por los enlaces y tus respuestas. Saludos