8 votos

Regresión de datos que incluyen una fecha

Tengo un conjunto de datos que contiene algunos cientos de transacciones de tres proveedores que operan en más de 100 países durante un período de tres años.

Hemos comprobado que el país de venta no es un factor significativo en los precios alcanzados (los productos son más o menos mercancías mundiales). Todos los precios han disminuido considerablemente con el tiempo. Un mismo día puede haber múltiples transacciones a diferentes precios del mismo proveedor (es decir, en diferentes países).

Me gustaría comprobar si existe una diferencia estadísticamente significativa en los precios cobrados por los distintos proveedores.

Los datos son algo así:

    Country X  1/1/2010  $200 Supplier A
    Country Y  1/1/2010  $209 Supplier A
    Country Z  1/1/2010  $187 Supplier A
    Country A  1/1/2010  $200 Supplier B
    Country X  1/2/2010  $188 Supplier B

¿Alguna idea sobre cómo hacerlo? .....

3 votos

El análisis de datos longitudinales es un campo muy amplio. Para dar una buena respuesta a esta pregunta, se necesita más información sobre el efecto que se espera que tenga el tiempo. Sin esto, no está claro si las respuestas que has recibido son buenas o no (por eso es bueno aclarar la pregunta antes, no después, de responder...) . Sé que ha dicho que el precio disminuye con el tiempo pero, ¿hay algo más? Por ejemplo, ¿se espera que las mediciones repetidas en el mismo país estén correlacionadas? Si es así, ninguna de las respuestas existentes hará lo que usted necesita.

1 votos

¡Grandes puntos! @Macro Yo esperaría alguna correlación entre múltiples puntos de datos dentro del mismo país (los precios pueden ser un poco pegajosos). Además, he realizado la prueba de Durban-Watson y he descubierto que los residuos están autocorrelacionados. Parece que esto puede estar más allá de mí. Tal vez sea hora de llamar a un verdadero estadístico.

2 votos

Si estás en R, hay funciones para tratar con fechas, y no me sorprendería que R fuera capaz de manejar datos como estos de forma bastante elegante sin que tengas que especificar mucho más de lo que harías habitualmente. Ver este

2voto

Lunar_Lamp Puntos 186

Parece que necesita utilizar métodos de series temporales, como ARMA o ARIMA, que le permiten calcular una regresión utilizando el tiempo como variable independiente sin violar el supuesto de observaciones independientes de OLS.

Puede intentar un análisis en dos pasos: - primero, utilizar el tiempo como una única variable de predicción y utilizar un método de series temporales adecuado - dos para ver si hay alguna diferencia significativa en los residuos entre los dos proveedores. (Una simple prueba t podría ser suficiente).

0voto

Tom O'Connor Puntos 421

Puedo aconsejarle que utilice una función no lineal para la variable de tiempo porque la caída de los precios es menor con cada unidad de tiempo adicional. De lo contrario, el precio acabaría cayendo por debajo de cero. Además, puede haber periodos en los que la tendencia cambie al alza. Por lo tanto, le recomiendo que utilice splines cúbicas para la variable de tiempo.

La experiencia me susurra que revise el siguiente modelo:
Y = parámetro_país * precio(t) * e

donde precio(t) es una función, preferiblemente spline cúbico, pero también puede ser cualquiera, incluso de tendencia lineal. Nótese que en el modelo hay signos de multiplicación, no de suma.

0voto

Travis Collins Puntos 1428

Hay varias formas. Una opción es convertir las fechas en días después del primer día. Además, podría tener variables adicionales de días de la semana (tendencias a lo largo de la semana) y del mes (para ver las tendencias en determinadas épocas del año). De este modo, puede utilizar la regresión múltiple.

Para obtener la variable "# de días después del primer día", creo que (tanto en Excel como en R) puedes simplemente restar los datos anteriores de la última fecha y obtener la diferencia de días. Así que tal vez intente restar el 1/1/2010 de todas sus fechas. También deberías decirle a R que el nuevo valor es numérico usando as.numeric()

EDIT: R parece leer en el año en primer lugar, por lo que puede tener que jugar con las fechas un poco. ver esto: http://stackoverflow.com/questions/2254986/how-to-subtract-days-in-r

El análisis de series temporales es otro enfoque, pero no estoy demasiado familiarizado con él.

-1voto

vanslly Puntos 2219

Elige una fecha de referencia, digamos 1/1/2010, y crea una nueva variable time que es la diferencia entre la fecha y la fecha de referencia, donde la diferencia se calcula, por ejemplo, en días.

Ahora ejecute una regresión lineal (o algo similar) con time y supplier como las dos variables predictoras y price como variable de respuesta.

Esto es sólo un punto de partida.

4 votos

Hola, he hecho esto, pero ¿viola uno de los supuestos de la regresión? es decir, los puntos son observaciones independientes? el gráfico de residuos se ve bien.

2 votos

Buen punto. Siempre es bueno sospechar de los resultados de la regresión lineal, ya que los supuestos nunca se cumplen al 100%. En particular, el error estándar podría estar muy infravalorado si los residuos están correlacionados, como sugieres. Para comprobar la independencia, una opción es utilizar la prueba de Durban Watson, así: tc.umn.edu/~ryoox001/images/DurbinWatson_test.pdf

0 votos

¡Grandes puntos! Yo esperaría cierta correlación entre múltiples puntos de datos dentro del mismo país (los precios pueden ser un poco rígidos). Además, he realizado la prueba de Durban-Watson y he descubierto que los residuos están autocorrelacionados. Parece que esto puede estar más allá de mí. @zkurtz Podría ser el momento de llamar a un verdadero estadístico.

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