Statistique - "Subdiviser" un graphique en baton

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

Statistique - "Subdiviser" un graphique en baton

par sir_nebu » 18 Mar 2014, 14:38

Bonjour à tous,

Je suis nouveau sur le forum et je viens vous questionner car j'ai beaucoup perdu mon lexique mathématique et je n'ai jamais été une lumière sur les stats.

J'explique mon problème : Je dispose d'un graphique en bâton avec en abscisse le temps (en heure) et en ordonnée une quantité (de bananes mangées). J'ai donc pour chaque pas de temps une quantité de bananes mangées.
Ce que je souhaiterais faire, c'est de réduire mon pas de temps d'une heure à 5 minutes tout en conservant l'aire de mes bâtons (=ma quantité de bananes mangées) et donc je souhaiterais calculer l'aire de mes bâtons sur ces pas de temps de 5 minutes.

J'ai retourné la question et j'ai essayé de l'exprimer par mes mots en utilisant google mais je n'ai toujours pas trouvé de réponse.

J'ai avancé sur l'idée et j'ai déjà une vague idée de ce que cela va donner. Cela ressemble à un calcul d'intégrale par la méthode des rectangles, ou alors à une fonction de répartition... mais j'aurais besoin d'un petit coup de pouce.

Merci d'avance.

Titi



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 18 Mar 2014, 14:46

hello,

un schema/graphique?
la vie est une fête :)

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 18 Mar 2014, 15:04

fatal_error a écrit:hello,

un schema/graphique?


J'aimerais pouvoir mais je ne trouve pas de croquis/graphique correspondant sur internet ou alors je ne vois pas comment en ajouter un sur le forum... Je n'ai pas les droits pour le faire...

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 18 Mar 2014, 16:26

une simple recherche sur le site...poster image te mene vers le lien suivant
la vie est une fête :)

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 18 Mar 2014, 16:45

Voici l'idée de ce que je voudrais faire. Cela revient à créer une courbe qui doit disposer de la même aire à la fin d'un pas de temps d'heure : somme_des_barres(t=5min)=barre_1_heure.

Image

En traçant la courbe, on se rend compte que celle-ci est dépendante des valeurs précédentes et suivantes. Il y a donc 4 cas.

Je n'arrive toujours pas à poser clairement le problème.

Merci pour toute aide utile... et désolé pour le lien, pourtant j'avais cherché... pas assez on dirait.

Titi.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 18 Mar 2014, 17:52

j'ai l'impression que ton diagramme en baton est obtenu depuis tes points. (plottés avec des carrés noirs)
Genre pour des points entre t et t+1, tu calcule l'air correspondant à la courbe définie par les points entre t et t+1, et tu traces un rectangle (avec plein de traits verticaux dedans) pour dire ta quantité de bananes (qui est l'air équivalente à l'aire couverte par cette courbe).

Au lieu de considérer une fenetre de 1h, tu peux pas prendre 5 min à la place?
la vie est une fête :)

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 19 Mar 2014, 13:41

Oui,

J'ai oublié de faire une description de mon image
:
- En bleue : mes valeurs que je répète 12 fois (5 min*12= 1h)
- En noir :(tracé ici à main levé) ce que je souhaiterais obtenir : les données "intermédiaires"

J'aimerais considérer une valeur toutes les 5 minutes mais je ne dispose que d'une valeur toutes les heures... voici le coeur du problème.

Comment calculer donc les valeurs entre deux pas de temps d'heure (qui respecterait l'aire de l'heure) ?
Comment assurer ce découpage ?

Cliffe
Membre Rationnel
Messages: 967
Enregistré le: 12 Juin 2012, 13:25

par Cliffe » 19 Mar 2014, 13:48

Ta question est mal posée.
Tu souhaite supprimer ce qui dépasse et boucher les trous vide ?

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 13:12

par DamX » 19 Mar 2014, 14:03

sir_nebu a écrit:Oui,
Comment calculer donc les valeurs entre deux pas de temps d'heure (qui respecterait l'aire de l'heure) ?
Comment assurer ce découpage ?


Bonjour,

tu ne vas pas recréer de l'information à partir d'une information dégradée, c'est à dire qu'il n'y a aucun moyen de retrouver les "vraies valeurs" pour l'histogramme 5min d'après les valeurs du 1h. Seule exception, si tu disposes d'hypothèses complémentaires sur la distribution pouvant permettre de reconstituer les valeurs.

Autrement, si tu te moques d'avoir les vraies valeurs d'origine, il y une infinité d'histogramme 5min qui peuvent correspondre à un même histogramme 1h. En rajoutant des contraintes graphiques pour que ça fasse "joli", ce que que tu sembles avoir fait dans ton exemple, en les choisissant bien tu devrais pouvoir arriver à déterminer un algo de subdivision de l'histo 1h-> histo5min de manière unique.

Si c'est cela que tu recherches (récupérer un "joli" histo 5 min qui conserve les aires de l'histo 1h mais qui ne correspondra probablement pas aux "vraies valeurs") alors je propose une première idée en l'air : adapter le concept des splines pour que ça réponde au problème (en intégrant une contrainte sur la conservation de l'aire [= moyenne des 12 points dans chaque tronçon d'1h] ).

Damien

EDIT : pour développer,
On dispose d'un histogramme de pas de temps que l'on veut subdiviser en m.
Sur chaque intervalle , l'histo prend la valeur An, et l'on veut remplacer cela par m barres dont les valeur seront obtenu par un polynôme Pn pris aux points (le dernier terme est là pour considérer que l'on prend la valeur "au milieu de la barre").

On prend des polynômes comme dans les splines pour des raisons de régularité et de raccordement.
On veut que les polynômes se raccordent aux bords des barres de l'histogramme d'origine et que l'aire des deux histogrammes soit la même.

On a donc les conditions pour chaque n :




Comme on s'intéresse au final uniquement aux points discrets et non à la courbe continue, pas besoin d'aller chercher un raccordement C1 qui compliquerait inutilement les calculs sans apporter grand résultat esthétique je pense.

Comme on a 3 conditions, on prend des polynômes de second degré, et la résolution de ces équations fournira de manière univoque les polynômes, et donc l'histogramme 5min. On obtient alors un systeme d'équations linéaires en les coefficients des polynômes.

Détail tout de même pour les bords (n=1 et n = n_max) qui ne disposent que de deux équations et pour lesquels il faudra rajouter une autre condition au bord ou bien choisir un polynôme de degré 1.

PS: si jamais le raccordement C1 était préféré, cela donnera des polynômes de degré 4, et de degré 2 aux bords, mais je doute de leur utilité pour 12 points et pouvant potentiellement créer des artefacts indésirables.

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 20 Mar 2014, 10:19

DamX a écrit:Bonjour,

tu ne vas pas recréer de l'information à partir d'une information dégradée, c'est à dire qu'il n'y a aucun moyen de retrouver les "vraies valeurs" pour l'histogramme 5min d'après les valeurs du 1h. Seule exception, si tu disposes d'hypothèses complémentaires sur la distribution pouvant permettre de reconstituer les valeurs.

Autrement, si tu te moques d'avoir les vraies valeurs d'origine, il y une infinité d'histogramme 5min qui peuvent correspondre à un même histogramme 1h. En rajoutant des contraintes graphiques pour que ça fasse "joli", ce que que tu sembles avoir fait dans ton exemple, en les choisissant bien tu devrais pouvoir arriver à déterminer un algo de subdivision de l'histo 1h-> histo5min de manière unique.

Si c'est cela que tu recherches (récupérer un "joli" histo 5 min qui conserve les aires de l'histo 1h mais qui ne correspondra probablement pas aux "vraies valeurs") alors je propose une première idée en l'air : adapter le concept des splines pour que ça réponde au problème (en intégrant une contrainte sur la conservation de l'aire [= moyenne des 12 points dans chaque tronçon d'1h] ).

Damien

EDIT : pour développer,
On dispose d'un histogramme de pas de temps que l'on veut subdiviser en m.
Sur chaque intervalle , l'histo prend la valeur An, et l'on veut remplacer cela par m barres dont les valeur seront obtenu par un polynôme Pn pris aux points (le dernier terme est là pour considérer que l'on prend la valeur "au milieu de la barre").

On prend des polynômes comme dans les splines pour des raisons de régularité et de raccordement.
On veut que les polynômes se raccordent aux bords des barres de l'histogramme d'origine et que l'aire des deux histogrammes soit la même.

On a donc les conditions pour chaque n :




Comme on s'intéresse au final uniquement aux points discrets et non à la courbe continue, pas besoin d'aller chercher un raccordement C1 qui compliquerait inutilement les calculs sans apporter grand résultat esthétique je pense.

Comme on a 3 conditions, on prend des polynômes de second degré, et la résolution de ces équations fournira de manière univoque les polynômes, et donc l'histogramme 5min. On obtient alors un systeme d'équations linéaires en les coefficients des polynômes.

Détail tout de même pour les bords (n=1 et n = n_max) qui ne disposent que de deux équations et pour lesquels il faudra rajouter une autre condition au bord ou bien choisir un polynôme de degré 1.

PS: si jamais le raccordement C1 était préféré, cela donnera des polynômes de degré 4, et de degré 2 aux bords, mais je doute de leur utilité pour 12 points et pouvant potentiellement créer des artefacts indésirables.


Merci pour cette réponse.

Je comprends tout à fait le raisonnement et je vois que tu as compris de quoi il s'agissait. Je comprends facilement que les valeurs aux extrémités manquent de données.

Malgré cela, j'aurais encore besoin d'un petit coup de pouce pour arriver à m'en sortir... Est-ce possible de développer d'avantage le calcul en lui même ? J'ai compris que les extrémités de chaque polynôme devaient correspondre à chaque "frontière" dt. J'avoue avoir du mal avec les notations.

Qu'est que ce signifie i=0.. m-1 ?

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 13:12

par DamX » 20 Mar 2014, 11:06

sir_nebu a écrit:Merci pour cette réponse.

Je comprends tout à fait le raisonnement et je vois que tu as compris de quoi il s'agissait. Je comprends facilement que les valeurs aux extrémités manquent de données.

Malgré cela, j'aurais encore besoin d'un petit coup de pouce pour arriver à m'en sortir... Est-ce possible de développer d'avantage le calcul en lui même ? J'ai compris que les extrémités de chaque polynôme devaient correspondre à chaque "frontière" dt. J'avoue avoir du mal avec les notations.

Qu'est que ce signifie i=0.. m-1 ?

Voici un schéma explicitant les notations. Le i correspond pour chaque barre de l'histo 1h, à la iéme sous-barre de 5 minutes que l'on cherche à déterminer, et i=0..m-1 signifie "pour i allant de 0 à i-1". Pour que le schéma soit lisible j'ai considéré 10 minutes (donc m=6 sous-barres au lieud e 12) au lieu de 5min.

Image

Dis-moi si tu ne comprends pas quelque chose.

Damien

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 20 Mar 2014, 15:26

DamX a écrit:Voici un schéma explicitant les notations. Le i correspond pour chaque barre de l'histo 1h, à la iéme sous-barre de 5 minutes que l'on cherche à déterminer, et i=0..m-1 signifie "pour i allant de 0 à i-1". Pour que le schéma soit lisible j'ai considéré 10 minutes (donc m=6 sous-barres au lieud e 12) au lieu de 5min.

Image

Dis-moi si tu ne comprends pas quelque chose.

Damien


Merci beaucoup pour ta réponse, et le temps pris pour le graphique... C'est vraiment sympas !!
J'ai compris l'histoire du raccordement. Pas de problème donc pour les deux premières conditions.
Par contre, quand tu dis :"pas besoin d'aller chercher un raccordement C1", tu parles du C1, qui correspond à un polynôme Pn=an²+bn+c ?

Si je te suis bien, sur n, je travaille avec 3 polynômes :
P(n-1) =a1n²+b1n+c1
P(n)=a2n²+b2n+c2
P(n+1)=a3n²+b3n+c3

Et donc je ensuite suis capable ensuite de définir les coefficients a,b et c à chaque fois...
Hum, par où commencer ?

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 20 Mar 2014, 16:01

Je crois avoir tout compris,

Une feuille et un stylo et son cerveau. Merci de l'aide et du temps passé sur le problème.

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 13:12

par DamX » 20 Mar 2014, 16:18

sir_nebu a écrit:Je crois avoir tout compris,

Une feuille et un stylo et son cerveau. Merci de l'aide et du temps passé sur le problème.


Ta formulation des polynômes est étrange mais tu as sans compris. C1 signifie continument dérivable, c'est à dire qu'en plus de raccorder les valeurs des polynomes, on raccorde leurs dérivées, chose sans doute inutile ici.

En très gros côté résolution, tu as N polynômes de degré 2 (sauf le premier et le dernier qui sont de degré 1), donc il y a 3N-2 inconnues (3 coeffs par polynôme et le -2 pour les 2 coeffs en moins des polynomes au bord).

côté équation, et il y a N-1 raccordement PN-1/PN, N-1 raccordement PN/PN+1, N conservations d'aires.

3N-2 équations linéaires (non liées) pour 3N-2 inconnues, ça fait un joli système linéaire à résoudre ensuite de manière classique, soit par pivot, soit par inversion de la matrice du système qui sera assez "creuse".

Bonne chance pour la résolution !

Damien

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 24 Mar 2014, 17:47

Salut,

J'ai bien avancé sur la question et je me demande maintenant comment réaliser le raccordement des dérivés sachant que j'ai trois inconnues et déjà trois équations de ma courbe.

Comment prendre en compte les dérivés de mes polynomes P(n-1), Pn, P(n+1) pour assurer un raccordement soigné ?

Merci d'avance

Titi

DamX
Membre Rationnel
Messages: 630
Enregistré le: 02 Oct 2012, 13:12

par DamX » 26 Mar 2014, 15:24

sir_nebu a écrit:Salut,

J'ai bien avancé sur la question et je me demande maintenant comment réaliser le raccordement des dérivés sachant que j'ai trois inconnues et déjà trois équations de ma courbe.

Comment prendre en compte les dérivés de mes polynomes P(n-1), Pn, P(n+1) pour assurer un raccordement soigné ?

Merci d'avance

Titi


Bonjour,

En premier lieu, est-ce vraiment utile tu penses ? Vu que tu ne considères au final pas la courbe continue mais une fonction en escalier collant cette courbe au milieu de chaque "barre", je doute à priori de la necessité de raccorder les dérivées.

Mais bon si tu y tiens vraiment, comme tu l'as fait remarquer tu as déjà 3 équations pour 3 paramètres par polynôme. Si tu veux raccorder les dérivées en plus, ça te rajoute deux équations (une de chaque côté), il te faut donc 5 paramètres, et donc il faut prendre des polynômes de degré 4 ! Et pour les deux bords il y aura 3 équations (une d'aire, une raccordement en valeur, et une en dérivée), il faut donc prendre des polynômes de degré 2 pour les deux extrémités.

Comme tu le vois, ça va considérablement augmenter la complexité numérique de la résolution en quasi-doublant la dimensionnalité du problème pour potentiellement pas grand chose. De plus avec des polynômes de degré 4 il se pourrait qu'il se produise des artefacts visuels, puisque la fonction pourra possiblement avoir jusqu'à 3 extrema locaux dans le même intervalle. Mais bon tu peux toujours tester et choisir ensuite la version qui te convient le mieux !

Damien

sir_nebu
Messages: 9
Enregistré le: 18 Mar 2014, 14:03

par sir_nebu » 27 Mar 2014, 10:39

Salut,

Merci de ta réponse. Voici un aperçu de ce que j'ai pu obtenir:

Image
Remarque : J'ai aussi fait exprès "de faire passer" mes polynomes non pas au milieu de la barre mais à l'extrémité droite de la barre. Cela pour être plus vrai.

(Le graphique n'est pas le même parce que je travaille sur beaucoup de données et j'implémente le calcul des valeurs dans un script en Python)

Bref, tout ça pour montrer que la construction du diagramme pose déjà des problèmes que j'essaie de résoudre :
- aire "négative"
- mauvais raccordement des dérivés.

D'ailleurs, j'ai vraiment l'impression qu'il faut que je tienne compte des valeurs f(n-1) et f(n+1) pour calculer mon polynome en n, pas simplement en posant les 3 ou 5 equations de résolution mais aussi en définissant des règles tel qu'il y aurait 4 cas :
- f(n-1)f(n)>f(n+1)
- f(n-1)f(n+1)
- f(n-1)>f(n)<f(n+1)

Bref, je continue à chercher dans ce sens là, si vous avez des idées/similitudes avec des problèmes de ce genre, envoyez moi les perches.

Merci d'avance.

Merci encore à toi DamX.

Titi

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 23 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite