Lissage de données sur l'année

Bonjour!
Voici un problème qui je pense est très intéressant :mur: , voici les données d'entrée dont nous disposons :

-> Une valeur pour chaque mois de l'année :
  • Janvier = 60
  • Février = 80
  • Mars = 130
  • Avril = 150
  • Mai = 180
  • Juin = 200
  • Juillet = 210
  • Aout = 170
  • Septembre = 140
  • Octobre = 90
  • Novembre = 60
  • Decembre = 50
-> Le nombre de jour par mois.


Pour connaitre la valeur chaque jour, je peux prendre Mars par exemple et le diviser par le nombre de jours dans le mois, soit 130 / 30 = 4,33.
Pour Février : 80 / 29 = 2,76.

Néanmoins je sais que ces valeurs de 2,76 et 4,33 concerne la moyenne en milieu du mois, je considère donc le 15 Février et 15 Mars.

Ainsi avec cette méthode simpliste, le 29 Février je suis à 2,76 tandis que je lendemain (1er Mars) je saute à 4,33 soit prés du double me créant une "marche".

Je souhaite donc lisser (par une formule mathématique) de façon journalière ces données mensuelles mais je dois respecter absolument la valeur du 15 de chaque mois (Février 2.76 et Mars 4.33) et surtout la somme mensuelle (Février 80 et Mars 130).
En gros en expliquant graphiquement, passer de barres (série 1) à une spline (série 2).
819437graph.jpg


Mon explication est elle compréhensible?

Merci pour votre aide!!!

Réponses

  • Bonjour.

    Si tes "valeurs" pour chaque mois sont des cumuls de valeurs journalières, la démarche est correcte, bien que critiquable :
    * Pourquoi vouloir affecter la valeur moyenne au 15 (au 14 pour février) ?
    * Pourquoi vouloir une courbe lissée ?
    * la courbe de base n'est pas celle que tu as tracée en bleu, mais un histogramme qui respecte les différences de durées des mois.

    Cordialement.
  • gerard0 écrivait: http://www.les-mathematiques.net/phorum/read.php?34,879492,879494#msg-879494
    [Inutile de recopier le message précédent. AD]
    Bonsoir !
    Je considère la valeur moyenne le jour en plein milieu du mois, c'est à dire le 15, mais cela peut être le 21, il suffira de modifier dans la formule.
    J'ai peur de ne pas m'être bien expliqué, j'ai utilisé le graphique pour se faire une idée, mais je cherche la formule purement mathématique qui me permettra de déduire une valeur lissée chaque jour en ne connaissant que la somme mensuelle et cette valeur moyenne du 15.
    Un exemple excel ci dessous :
    Colonne A = Dates
    Colonne B = Somme mensuelle
    Colonne C = Valeur journalière basique en divisant la somme mensuelle par le nombre de jours du mois.
    Colonne D = Somme à cheval entre deux mois du 21 au 21.
    Colonne E = Essai de détermination journalière en connaissant les colonnes C et D.
    Colonne F = Ma somme des valeurs en colonne E qui ne correspondent pas à la colonne D
    520617graph2.jpg
  • OK !

    Donc tu n'as pas d'explication sur les raisons de ce que tu veux faire. Comme je ne suis pas un spécialiste de ce domaine, je laisserai d'autres te conseiller sur la méthode d'obtention des formules (mais on trouve facilement de très bons documents sur le sujet sur le web).

    Tu devrais faire changer de forum ce sujet qui ne concerne pas les graphes au sens de ce forum. plutôt en analyse, ou en statistiques. Demande à un modérateur.

    Cordialement.
  • Je veux simplement lisser mathématiquement une courbe!

    Pour dépouiller au maximum le problème, un exemple simple :

    - Valeur minimale = 5
    -Valeur maximale = 8
    - Lissage des valeurs progressivement de 5 à 8 sur 30 occurrences.
    - La somme des 30 valeurs doit être égale à 193,5.
  • Justement,

    tu as proposé une solution que je ne sais pas particulièrement mettre en œuvre (je connais les splines, je n'ai jamais travaillé avec). Je laisse la place à ceux qui savent.
    Sinon "lisser mathématiquement" ne veut rien dire (il y a de nombreuses façons de lisser).

    Bonne chance !
  • Bonsoir!
    Toutes mes excuses et très honnêtement, je suis en train de me noyer tout seul!
    Je tourne en rond depuis des jours sur ce problème et me demande si il existe une solution!

    Je repose le problème d'une façon plus simple :

    -> je connais seulement un valeur mensuelle comme ceci :
    Janvier = 60
    Février = 80
    Mars = 130
    Avril = 150
    Mai = 180
    Juin = 200
    Juillet = 210
    Aout = 170
    Septembre = 140
    Octobre = 90
    Novembre = 60
    Decembre = 50

    Comment en déduire une valeur journalière tout en conservant strictement la valeur mensuelle (somme des valeurs journalières = valeur mensuelle).
    En gros actuellement j'ai quelque chose qui ressemble à ça et souhaite obtenir le graph du dessous :
    838855graph3.jpg

    Désolé pour ces revirements mais je compte beaucoup sur votre aide pour éviter d'exploser!!!!!!

    Grand merci!
  • Bonjour!
    Concernant les jours, il est certainement plus simple d'oublier le bissextile et de partir sur une base composée de numéros de jours fixes avec intervalles tout aussi fixes :
    [*]Janvier - 31 jours - du jour 1 au jour 31
    Février - 28 jours - du jour 32 au jour 59
    Mars - 31 jours - du jour 60 au jour 90
    Avril - 30 jours - du jour 91 au jour 120
    Mai - 31 jours - du jour 121 au jour 151
    Juin - 30 jours - du jour 152 au jour 181
    Juillet - 31 jours - du jour 182 au jour 212
    Août - 31 jours - du jour 213 au jour 243
    Septembre - 30 jours - du jour 244 au jour 273
    Octobre - 31 jours - du jour 274 au jour 304
    Novembre - 30 jours - du jour 305 au jour 334
    Décembre - 31 jours - du jour 335 au jour 365[/*]

    Voici une base excel de travail : http://cjoint.com/?CKilaalz7z2 , la colonne A désigne les numéros de jours comme ci dessus à Freddy. La colonne B en orange les mois, la colonne C en jaune les valeurs mensuelles à respecter strictement, et en colonne D les valeurs journalières obtenues basiquement par division de la valeur mensuelle par le nombre de jours du mois.

    Je veux donc éviter ce genre de marche entre les jours 59 et 60 passant de 2.85 à 4.19, lisser chaque jour tout en respectant la somme mensuelle.

    Merci!!!!!
  • On m'a suggéré un modèle qui fonctionne parfaitement :
    a0+a1*cos((2*PI*t)/365)+a2*cos(2*((2*PI*t)/365))+a3*cos(3*((2*PI*t)/365))+a4*cos(4*((2*PI*t)/365))+a5*cos(2*((5*PI*t)/365))+b1*sin((2*PI*t)/365)+b2*sin(2*((2*PI*t)/365))+b3*sin(3*((2*PI*t)/365))+b4*sin(4*((2*PI*t)/365))+b5*sin(5*((2*PI*t)/365))+b6*sin(6*((2*PI*t)/365))

    t étant le numéro de jour et les coefficients a0, a1, a2, a3, a4, a5, b1, b2, b3, b4, b5, b6 obtenus par équation à 12 inconnus que je n'arrive pas à déterminer simplement.

    Par ailleurs, les COS et SIN sont ils placés en fonction de la phase montante ou descendante du mois?

    Qu'en pensez vous?

    Grand merci et bonne journée.
Connectez-vous ou Inscrivez-vous pour répondre.