2010-03-23 26 views
5

restricciones del problemacurva de mejor ajuste para la línea de tendencia

  • tamaño del conjunto de datos, pero no los datos en sí, es conocida.
  • El conjunto de datos crece en un punto de datos a la vez.
  • La línea de tendencia se representa gráficamente con un punto de datos a la vez (usando una curva spline/Bezier).

gráficos

El collage siguiente muestra los conjuntos de datos con líneas de tendencia razonablemente precisas:

enter image description here

Los gráficos son:

  • superior izquierda. por hora, con ~ 24 puntos de datos.
  • Upper-right. Por día durante un año, con ~ 365 puntos de datos.
  • abajo a la izquierda. Por semana durante un año, con ~ 52 puntos de datos.
  • Derecha abajo. Por mes durante un año, con ~ 12 puntos de datos.

entradas de usuario

el usuario puede seleccionar:

  • el tipo de serie de tiempo (por hora, diaria, mensual, trimestral, anual); y
  • las fechas de inicio y finalización de la serie temporal.

Por ejemplo, el usuario podría seleccionar un informe diario durante 30 días en junio.

tendencia Peso

Para calcular el tamaño de la ventana (es decir, el número de puntos de datos a la media en el cálculo de la línea de tendencia), se utiliza la siguiente expresión:

data points/trend weight 

Dónde data points es derivado de las entradas del usuario y trend weight es 6.4. Aunque un peso de tendencia de 6.4 produce buenos ajustes, es bastante arbitrario y puede no ser apropiado para diferentes entradas de usuario.

Pregunta

¿Cómo debe ser trend weight calcula teniendo en cuenta las limitaciones de este problema?

+1

¿Está ajustando una línea de tendencia, o simplemente calculando la media móvil dentro de una ventana y luego colocando una spline a través de los valores? – Aniko

+1

Creo que estoy buscando una spline suavizante. Http://en.wikipedia.org/wiki/Smoothing_spline –

Respuesta

1

De acuerdo con el aspecto de los gráficos, diría que tiene demasiados puntos para su gráfico de 12 puntos (es solo una estría de t señala puntos ... que es visualmente agradable, pero en realidad hace más daño que bien al tratar de entender la tendencia) y muy pocos puntos para su gráfico de 365 puntos. Tal vez trate de hacer algo un poco exponencial como:

(Data points)^1.2/14.1 

que se dan cuenta de esto es aún más arbitraria que lo que ya tiene, pero no arbitraria es la peor cosa en el mundo.

(Tengo un 14,1 por tratar de mantener el gráfico 52 punto fijo, ya que uno se ve bien, tomando (52^(1.2)/52)*6.4=14.1. Se utiliza esta técnica podría intentar otros poderes además de 1,2 a ver lo que se obtiene visualmente.

Dan

+0

Pude haber expresado mal mi sugerencia. Estoy proponiendo cálculos de tamaño de ventana alternativos. – Dan

0

He votado esto por la calidad de sus resultados y la claridad de su reseña.Desearía poder ofrecer una respuesta que podría mejorar tu ya excelente trabajo.

Me temo que podría ser una cuestión de prueba y error con el peso de la tendencia hasta que vea un ajuste mejorado.

Podría ser que también pueda hacer que esto sea una entrada de los usuarios: permita que jueguen con el valor, dadas las restricciones realistas, hasta que obtengan valores satisfactorios.

También me pregunté si el peso sería diferente para cada gráfico, ya que el número de puntos en cada uno es diferente. ¿Estás tratando de obtener una sola ponderación que funcione para todos los gráficos?

Excelente trabajo; una buena pregunta. Bien hecho. Desearía ser más útil. Quizás alguien más tendrá más sabiduría para impartir que yo.

+0

Resulta que la "manera real" de resolver este problema tomaría un libro para explicar. Esencialmente, sin embargo, implica llamar a funciones R en la base de datos. unctions luego realiza el análisis estadístico y proporciona una columna adicional de datos de vuelta al informe. Calcular la línea de tendencia en iReport no es una buena idea. –

+0

Excelente, me aseguraré de echarle un vistazo. – duffymo

0

Puede parecer que las líneas de tendencia son precisas en esos 4 gráficos, pero está bastante apagado. (Esto se ve mejor al comienzo de la esquina inferior izquierda y al principio de la esquina superior derecha. Creo que le conviene usar no menos de la mitad de sus puntos para encontrar la línea de tendencia (aunque en realidad debería usar mucho más). más de la mitad). Sugeriría un Tendencia de 2 como máximo, aunque en realidad debería acercarse al rango 1-1.5. Como es arbitrario, le sugiero que le dé a su usuario un deslizador de "precisión de línea de tendencia" que pueden usar donde la configuración más precisa usa un peso de tendencia de 1 y la menos precisa usa un peso de #of data points +1. Esto usaría 0 puntos (siempre es divertido redondear hacia abajo) y, supongo, su software de estadísticas podría ser diferente, generará una línea horizontal estrecha.

+0

Hola, David. Gracias por la ayuda. Debido a la API, cada punto de datos debe convertirse en algún punto de la línea de tendencia. Usar un peso de tendencia de 2 no funcionará. La razón por la que la esquina superior derecha está desactivada al principio es porque hay pocos puntos de datos entre enero y marzo, que no es el caso con los datos de producción. Pensé en dejarles elegir un valor para el peso de la línea de tendencia (con un valor sugerido), pero esperaba que hubiera alguna fórmula que pudiera aplicar. –

+0

En el que está en la esquina superior derecha no parece estar apagado por falta de datos. Está yendo demasiado alto sin datos para llegar hasta allí. en ese primer mes alcanza un máximo por encima del máximo para el próximo mes, así como también por encima del promedio para el próximo mes.Creo que la curva debería estar por debajo de la línea azul en el primer mes, ya que no hay datos en ese mes para subirla por encima de la línea azul, pero hay datos en el segundo mes para mantenerla baja. – David

+0

Estoy sorprendido de saber algo sobre las estadísticas. No recuerdo saber nada de esto. – David

Cuestiones relacionadas