Saturday, 7 January 2017

Fonction Moyenne Mobile Dans Informatica

Moyenne mobile Cet exemple vous enseigne comment calculer la moyenne mobile d'une série temporelle dans Excel. Un avearge mobile est utilisé pour lisser les irrégularités (pics et vallées) pour reconnaître facilement les tendances. 1. Tout d'abord, jetez un oeil à notre série chronologique. 2. Sous l'onglet Données, cliquez sur Analyse des données. Remarque: ne trouve pas le bouton Analyse des données Cliquez ici pour charger le complément Analysis ToolPak. 3. Sélectionnez Moyenne mobile et cliquez sur OK. 4. Cliquez dans la zone Plage d'entrée et sélectionnez la plage B2: M2. 5. Cliquez dans la zone Intervalle et tapez 6. 6. Cliquez dans la zone Plage de sortie et sélectionnez la cellule B3. 8. Tracez un graphique de ces valeurs. Explication: parce que nous définissons l'intervalle sur 6, la moyenne mobile est la moyenne des 5 points de données précédents et le point de données actuel. En conséquence, les crêtes et les vallées sont lissées. Le graphique montre une tendance à la hausse. Excel ne peut pas calculer la moyenne mobile pour les 5 premiers points de données car il n'y a pas assez de points de données antérieurs. 9. Répétez les étapes 2 à 8 pour l'intervalle 2 et l'intervalle 4. Conclusion: Plus l'intervalle est grand, plus les sommets et les vallées sont lissés. Plus l'intervalle est petit, plus les moyennes mobiles sont proches des points de données réels. Comment calculer des moyennes mobiles en Excel? L'analyse de données fournit un outil pour calculer des moyennes mobiles et exponentiellement lissées dans Excel. Supposons, à titre d'illustration, que vous ayez recueilli des informations quotidiennes sur la température. Vous voulez calculer la moyenne mobile de trois jours 8212 la moyenne des trois derniers jours 8212 dans le cadre d'une prévision météorologique simple. Pour calculer les moyennes mobiles de cet ensemble de données, procédez comme suit. Pour calculer une moyenne mobile, cliquez d'abord sur le bouton de commande Data Analysis de l'onglet Données. Lorsque Excel affiche la boîte de dialogue Analyse des données, sélectionnez l'élément Moyenne mobile dans la liste, puis cliquez sur OK. Excel affiche la boîte de dialogue Moyenne mobile. Identifiez les données que vous souhaitez utiliser pour calculer la moyenne mobile. Cliquez dans la zone de texte Plage d'entrée de la boîte de dialogue Moyenne mobile. Identifiez ensuite la plage d'entrée, en tapant une adresse de plage de feuille de calcul ou en utilisant la souris pour sélectionner la plage de la feuille de calcul. Votre référence de plage doit utiliser des adresses de cellules absolues. Une adresse de cellule absolue précède la lettre de colonne et le numéro de ligne avec des signes, comme dans A1: A10. Si la première cellule de votre plage d'entrée contient une étiquette de texte pour identifier ou décrire vos données, cochez la case Etiquettes en première ligne. Dans la zone de texte Intervalle, dites à Excel le nombre de valeurs à inclure dans le calcul de la moyenne mobile. Vous pouvez calculer une moyenne mobile en utilisant un nombre quelconque de valeurs. Par défaut, Excel utilise les trois valeurs les plus récentes pour calculer la moyenne mobile. Pour spécifier qu'un autre nombre de valeurs doit être utilisé pour calculer la moyenne mobile, entrez cette valeur dans la zone de texte Intervalle. Dites à Excel où placer les données de la moyenne mobile. Utilisez la zone de texte Plage de sortie pour identifier la plage de feuilles de calcul dans laquelle vous souhaitez placer les données de la moyenne mobile. Dans l'exemple de la feuille de calcul, les données de la moyenne mobile ont été placées dans la plage de feuilles de calcul B2: B10. (Facultatif) Spécifiez si vous voulez un graphique. Si vous voulez un graphique qui trace les informations relatives à la moyenne mobile, cochez la case Sortie du graphique. (Facultatif) Indiquez si vous souhaitez calculer les informations d'erreur standard. Si vous souhaitez calculer des erreurs standard pour les données, cochez la case Standard Errors. Excel place les valeurs d'erreur standard à côté des valeurs de la moyenne mobile. (L'information d'erreur standard entre dans C2: C10.) Une fois que vous avez terminé de spécifier les informations sur la moyenne mobile que vous souhaitez calculer et où vous voulez placer, cliquez sur OK. Excel calcule l'information sur la moyenne mobile. Remarque: Si Excel doesn8217t dispose d'informations suffisantes pour calculer une moyenne mobile pour une erreur standard, il place le message d'erreur dans la cellule. Vous pouvez voir plusieurs cellules qui montrent ce message d'erreur en tant que value. I ont profilé cela en utilisant le profileur Visual C, et il représente environ 35 du temps de fonctionnement. Cette moyenne mobile exponentielle est appelée plus d'un billion de fois, car elle est utilisée à plusieurs reprises sur le traitement de plus de 400 gigaoctets de données. Les données proviennent d'une matrice RAID niveau 0 disque solide, donc la lecture des comptes de données pour moins de 5 du temps. La taille du prix est d'environ 100. J'ai initialement accéléré par un facteur de 4 en précalculant autant de données que possible. Puis j'ai été en mesure de l'augmenter encore par un facteur de ndash PaeneInsula Oct 30 11 at 20:41 J'ai été capable d'augmenter la vitesse de nouveau par un facteur de 12 en multithreading it (la nature des données est telle qu'elle peut être multithreaded De sorte que la charge est parfaitement équilibrée.) Et je l'ai en cours d'exécution sur un i7 990x (qui a 6 cœurs, hyperthreaded d'un total de 12), overclocké. Ndash PaeneInsula Oct 30 11 at 20:51 Bien sûr, multithreading peut aider. Mais vous pouvez presque assurément améliorer les performances sur une seule machine filetée. Tout d'abord, vous le calculez dans la mauvaise direction. Seules les machines les plus modernes peuvent effectuer des prélèvements de pas négatifs. Presque tous les machihnes sont plus rapides pour les foulées de l'unité. C'est à dire. Changer la direction de la baie de sorte que vous balayez de bas à haut plutôt que de haut en bas est presque toujours mieux. Ensuite, réécrire un peu - s'il vous plaît permettez-moi de raccourcir les noms des variables pour le rendre plus facile à taper: Par ailleurs, je vais commencer à utiliser des raccourcis p pour le prix et s pour le lissage, pour enregistrer la frappe. Je suis fainéant. Mais il est probablement plus rapide à faire La latence entre avgi et avgi-2 est alors 1 multiplier et un add, plutôt que d'une soustraction et une multiplication entre avgi et avgi-1. C'est à dire. Plus de deux fois plus vite. En général, vous voulez réécrire la récurrence de sorte que avgi est calculé en termes de avgj pour j aussi loin que vous pouvez éventuellement aller, sans remplir la machine, soit des unités d'exécution ou des registres. Vous faites essentiellement plus de multiplications dans l'ensemble, afin d'obtenir moins de chaînes de multiples (et soustrait) sur le chemin critique. Passer de avgi-2 à avgi est facile, vous pouvez probablement faire trois et quatre. Exactement jusqu'à quel point dépend de ce que votre machine est, et combien de registres que vous avez. Et la latence de l'additionneur à virgule flottante et du multiplicateur. Ou, mieux encore, la saveur de combiner l'instruction de multiplication-ajouter que vous avez - toutes les machines modernes les ont. Par exemple. Si le MADD ou MSUB est de 7 cycles de long, vous pouvez faire jusqu'à 6 autres calculs dans son ombre, même si vous avez seulement une unité à virgule flottante. Entièrement pipeline. Etc. Moins si pipelined tous les autres cycle, comme est commun pour la double précision sur les puces plus anciennes et les GPU. Le code d'assemblage doit être un logiciel pipeline afin que les itérations de boucles différentes se chevauchent. Un bon compilateur devrait faire cela pour vous, mais vous pourriez avoir à réécrire le code C pour obtenir les meilleures performances. Soit dit en passant: je ne veux pas suggérer que vous devriez créer un tableau d'avg. Au lieu de cela, vous auriez besoin de deux moyennes si avgi est calculé en termes de avgi-2, et ainsi de suite. Vous pouvez utiliser un tableau de avgi si vous voulez, mais je pense que vous avez seulement besoin d'avoir 2 ou 4 avgs, appelé créativement, avg0 et avg1 (2, 3.), et les faire pivoter. Ce genre d'astuce, divisant un accumulateur ou moyenne en deux ou plus, combinant plusieurs étapes de la récurrence, est commun dans le code de haute performance. Oh, oui: precalculate ss, etc. Si je l'ai fait bien, en précision infinie cela serait identique. (Double vérifiez-moi, s'il vous plaît.) Toutefois, en précision finie FP vos résultats peuvent différer, j'espère que légèrement, en raison de différents arrondi. Si le déroulement est correct et que les réponses sont significativement différentes, vous avez probablement un algorithme numériquement instable. Tu es celle que tu devrais savoir. Remarque: les erreurs d'arrondissement en virgule flottante modifient les bits bas de votre réponse. Les deux à cause de réarranger le code, et en utilisant MADD. Je pense que c'est probablement correct, mais vous devez décider. Note: les calculs pour avgi et avgi-1 sont maintenant indépendants. Ainsi, vous pouvez utiliser un jeu d'instructions SIMD, comme Intel SSE2, qui permet l'opération sur deux valeurs 64 bits dans un registre de 128 bits à la fois. Thatll être bon pour presque 2X, sur une machine qui a suffisamment de ALUs. Si vous avez assez de registres pour réécrire avgi en termes de avgi-4 (et je suis sûr que vous faites sur iA64), alors vous pouvez aller 4X de large, si vous avez accès à une machine comme 256 bit AVX. Sur un GPU. Vous pouvez aller pour les récidives plus profondes, réécriture avgi en termes de avgi-8, et ainsi de suite. Certains GPU ont des instructions qui calculent AXB ou même AXBY comme une seule instruction. Bien que thats plus commun pour 32 bits que pour 64 bits de précision. À un certain point, je commencerais probablement à demander: voulez-vous faire cela sur plusieurs prix à la fois Non seulement cela vous aider avec multithreading, il sera également le faire fonctionner sur un GPU. Et en utilisant SIMD large. Minor Late Addition Je suis un peu embarrassé de ne pas avoir appliqué Horners Rule à des expressions comme un peu plus efficace. Résultats légèrement différents avec arrondissement. Dans ma défense, tout compilateur décent devrait le faire pour vous. Mais la règle Hrners rend la chaîne de dépendance plus profonde en termes de multiplication. Vous pourriez avoir besoin de dérouler et pipeline la boucle quelques fois de plus. Ou vous pouvez faire où vous precalculate


No comments:

Post a Comment