2010-03-23 25 views
5

Contraintes Problèmemeilleure courbe en forme de ligne de tendance

  • Taille de l'ensemble de données, mais pas les données elles-mêmes, est connu.
  • L'ensemble de données augmente d'un point de données à la fois.
  • La courbe de tendance est représentée graphiquement par un point de données à la fois (en utilisant une courbe spline/Bézier).

Graphiques

Le collage ci-dessous montre les ensembles de données avec des lignes de tendance raisonnablement précises:

enter image description here

Les graphiques sont:

  • supérieur gauche. Par heure, avec ~ 24 points de données.
  • En haut à droite. Le jour pendant un an, avec ~ 365 points de données.
  • En bas à gauche. Par semaine pendant un an, avec ~ 52 points de données.
  • En bas à droite. Par mois pendant un an, avec ~ 12 points de données.

Entrées utilisateur

L'utilisateur peut sélectionner:

  • le type de séries chronologiques (horaire, quotidienne, mensuelle, trimestrielle, annuelle); et
  • les dates de début et de fin de la série chronologique.

Par exemple, l'utilisateur peut sélectionner un rapport quotidien pendant 30 jours en juin.

Poids Tendance

Pour calculer la taille de la fenêtre (à savoir le nombre de points de données à la moyenne lors du calcul de la ligne de tendance), l'expression suivante est utilisée:

data points/trend weight 

data points est dérivé des entrées de l'utilisateur et trend weight est 6.4. Même si un poids tendanciel de 6.4 produit de bons ajustements, il est plutôt arbitraire et pourrait ne pas convenir à différentes entrées utilisateur.

Question

Comment devrait trend weight être calculé compte tenu des contraintes de ce problème?

+1

Est-ce que vous ajustez une ligne de tendance, ou calculez simplement la moyenne mobile dans une fenêtre, puis mettez une spline à travers les valeurs? – Aniko

+1

Je crois que je suis après une spline de lissage http://en.wikipedia.org/wiki/Smoothing_spline –

Répondre

1

Basé sur l'apparence des graphiques je dirais que vous avez trop de points pour votre graphique de 12 points (ce n'est qu'une spline de t il donne des points ... ce qui est visuellement plaisant, mais fait plus de mal que de bien en essayant de comprendre la tendance) et trop peu de points pour votre graphique de 365 points. Peut-être essayer de faire quelque chose un peu comme exponentielle:

(Data points)^1.2/14.1 

je réalise ce qui est encore plus arbitraire que ce que vous avez déjà, mais arbitraire n'est pas la pire chose dans le monde.

(je suis arrivé 14,1 en essayant de garder le graphique 52 point fixe, depuis que l'on regarde bien, en prenant (52^(1.2)/52)*6.4=14.1. Vous en utilisant cette technique, vous pouvez essayer d'autres puissances en plus 1.2 pour voir ce que vous obtenez visuellement.

Dan

+0

J'ai peut-être mal formulé ma suggestion. Je propose d'autres calculs de taille de fenêtre. – Dan

0

J'ai voté pour la qualité de vos résultats et la clarté de votre article.J'aimerais pouvoir offrir une réponse qui pourrait améliorer votre excellent travail.

Je crains que cela puisse être une question d'essai et d'erreur avec le poids de la tendance jusqu'à ce que vous voyez un ajustement amélioré.

Il se peut que vous puissiez aussi en faire une contribution des utilisateurs: leur permettre de jouer avec la valeur, en tenant compte de contraintes réalistes, jusqu'à obtenir des valeurs satisfaisantes. Je me demandais également si le poids serait différent pour chaque graphique, puisque le nombre de points dans chacun est différent. Essayez-vous d'obtenir une seule pondération qui fonctionne pour tous les graphiques?

Excellent travail; une belle question. Bien joué. J'aimerais être plus utile. Peut-être que quelqu'un d'autre aura plus de sagesse à transmettre que moi.

+0

Il s'avère que la "vraie façon" de résoudre ce problème serait d'expliquer un livre, mais cela implique essentiellement d'appeler les fonctions R dans la base de données. Les analyses effectuent ensuite l'analyse statistique et fournissent une colonne supplémentaire de données au rapport. Calculer la ligne de tendance dans iReport n'est pas une bonne idée. –

+0

Excellent, je vais être sûr de le regarder. – duffymo

0

Il peut sembler que les lignes de tendance sont précises dans ces 4 graphiques, mais c'est vraiment éteint. (Ceci est mieux vu dans la partie inférieure gauche et dans la partie supérieure droite.) Je pense que vous voudriez utiliser pas moins de la moitié de vos points lorsque vous trouvez la ligne de tendance (bien que vous devriez utiliser beaucoup plus Je suggérerais un poids de tendance de 2 au maximum Bien que vraiment vous devriez vous rapprocher de la gamme 1-1.5 Comme il est arbitraire je suggère que vous donniez à votre utilisateur un curseur de "précision de la ligne de tendance" ils peuvent utiliser où le réglage le plus précis utilise un poids tendanciel de 1 et le moins précis utilise un poids de #of data points +1.Ceci utiliserait 0 points (vous amuser toujours arrondir vers le bas) et, je suppose, bien que votre logiciel de statistiques pourrait être différent, va générer une ligne horizontale du détroit

+0

Salut, David. Merci pour l'aide. En raison de l'API, chaque point de données doit devenir un point sur la ligne de tendance. L'utilisation d'un poids de tendance de 2 ne fonctionnera pas. La raison pour laquelle la partie supérieure droite est désactivée au début est parce qu'il y a peu de points de données entre janvier et mars, ce qui n'est pas le cas avec les données de production. J'ai pensé à les laisser choisir une valeur pour le poids de la ligne de tendance (avec une valeur suggérée), mais espérais qu'il y avait une formule que je pourrais appliquer. –

+0

Dans celui en haut à droite il ne ressemble pas à son manque de données. Son chemin est trop élevé sans données pour l'atteindre. dans ce premier mois, son pic au-dessus du maximum pour le mois prochain ainsi que bien au-dessus de la moyenne pour le mois prochain.Je pense que la courbe devrait être en-dessous de la ligne bleue dans le premier mois, car il n'y a pas de données dans ce mois pour le tirer au-dessus de la ligne bleue, mais il ya des données dans le deuxième mois pour le maintenir. – David

+0

Je suis choqué de savoir quoi que ce soit sur les statistiques. Je ne me souviens pas d'avoir connu ça. – David