Les noms par défaut sont here(1); // Choisissez Juristiction , soit 'United States' ou un nom d'état, correspond à une valeur dans cette colonne dans les fichiers csv. Filtre de juridiction = "États-Unis" ; //Filtre de juridiction = "Illinois" ; //Exportez les données vers des fichiers csv à partir des sites ci-dessous : //
https://data.cdc.gov/NCHS/Weekly-Counts-of-Deaths-by-State-and-Select-Causes/3yf8-kanr // https

/data.cdc.gov/NCHS/Weekly-Provisional-Counts-of-Deaths-by-State-and-S/muzy-jte6 dtFinal = Open( pick file("Ouvrir le fichier final (décompte hebdomadaire des décès par états )", "$Téléchargements"), columns( New Column( "Juridiction of Occurrence", Character, "Nominal" ), New Column( "MMWR Year", Numeric, "Continuous", Format( "Best", 12 ) ) , New Column( "MMWR Week", Numeric, "Continuous", Format( "Best", 12 ) ), New Column( "Week Ending Date", Numeric, "Continuous", Format( "m/d/y", 10 ), Input Format( "m/d/y" ) ), New Column( "All Cause", Numeric, "Continuous", Format( "Best", 12 ) ), New Column( "Natural Cause", Numeric, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Septicémie (A40-A41)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Tumeurs malignes (C00 -C97)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Diabète sucré (E10-E14)", Numérique, "Continu", Format( "Meilleur", 12 ) ), New Column( "Maladie d'Alzheimer (G30)", Numérique, "Continu", Format( "Meilleur", 12 ) ), New Column( "Grippe et pneumonie (J10-J18)", Numérique, "Continu", Format( " Best", 12 ) ), New Column( "Maladies chroniques des voies respiratoires inférieures (J40-J47)", Numeric, "Continuous", Format( "Best", 12 ) ), New Column( "Autres maladies du système respiratoire (J00- J06,J30-J39,J67,J70-J98)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Néphrite, syndrome néphrotique et néphrose (N00-N07,N17-N19,N25 -N27)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Symptômes, signes et résultats cliniques et de laboratoire anormaux, non classés ailleurs (R00-R99)", Numérique, "Continu" , Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Maladies cardiaques (I00-I09,I11,I13,I20-I51)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouveau Column( "Maladies cérébrovasculaires (I60-I69)", Numeric, "Continuous", Format( "Best", 12 ) ), New Column( "flag_allcause", Character, "Nominal") ), New Column( "flag_natcause", Character , "Nominal" ), Nouvelle Colonne( "flag_sept", Caractère, "Nominal" ), Nouvelle Colonne( "flag_neopl", Caractère, "Nominal" ), Nouvelle Colonne( "flag_diab", Caractère, "Nominal" ), Nouvelle Colonne ( "flag_alz", Caractère, "Nominal" ), Nouvelle Colonne( "flag_inflpn", Caractère, "Nominal" ), Nouvelle Colonne( "flag_clrd", Caractère, "Nominal" ), Nouvelle Colonne( "flag_otherresp", Caractère, " Nominal"), Nouvelle Colonne( "flag_nephr", Caractère, "Nominal" ), Nouvelle Colonne( "flag_otherunk", Caractère, "Nominal" ), Nouvelle Colonne( "flag_hd", Caractère, "Nominal" ), Nouvelle Colonne( " flag_stroke", Caractère, "Nominal" ) ), Paramètres d'importation ( Fin de ligne ( CRLF, CR, LF ), Fin de champ ( Virgule, CSV ( 1 ) ), Bande de guillemets ( 1 ), Utiliser l'apostrophe comme guillemet ( 0 ), Utiliser les paramètres régionaux ( 0 ), Analyser le fichier entier ( 1 ), Traiter les colonnes vides comme numériques ( 0 ), CompressNumericColumns ( 0 ), CompressCharacterColumns ( 0 ), CompressAllowListCheck ( 0 ), Labels ( 1 ), Début des noms de colonnes ( 1 ), Data Starts( 2 ), Lines To Read( "All" ), Year Rule( "20xx" ) ) ); dtProv = Open( Pick File("Ouvrir le fichier provisoire (nombre provisoire hebdomadaire de décès)", "$Téléchargements"), columns( New Column( "Data As Of", Numeric, "Continuous", Format( "m/d/ y", 10 ), Input Format( "m/d/y" ) ), New Column( "Jurisdiction of Occurrence", Character, "Nominal") ), New Column( "MMWR Year", Numeric, "Continuous", Format ("Meilleur", 12) ), Nouvelle Colonne( "MMWR Semaine", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Date de fin de semaine", Numérique, "Continu", Format( "aaaa-mm-jj", 10 ), Format d'entrée( "aaaa-mm-jj" ) ), Nouvelle colonne( "Toutes les causes", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle colonne ("Cause naturelle", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle colonne( "Septicémie (A40-A41)", Numérique, "Continu", Format( "Meilleur", 12 ) ), New Column( "Tumeurs malignes (C00-C97)", Numérique, "Continu", Format( "Meilleur", 12 ) ), New Column( "Diabète sucré (E10-E14)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Maladie d'Alzheimer (G30)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Grippe et pneumonie (J09-J18)", Numérique , "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Maladies chroniques des voies respiratoires inférieures (J40-J47)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( " Autres maladies de l'appareil respiratoire (J00-J06,J30-J39,J67,J70-J98)", Numeric, "Continuous", Format( "Best", 12 ) ), New Column( "Néphrite, syndrome néphrotique et néphrose (N00 -N07,N17-N19,N25-N27)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "Symptômes, signes et résultats cliniques et de laboratoire anormaux, non classés ailleurs (R00-R99 )", Numeric, "Continuous", Format( "Best", 12 ) ), New Column( "Maladies cardiaques (I00-I09,I11,I13,I20-I51)", Numeric, "Continuous", Format( " Best", 12 ) ), New Column( "Maladies cérébrovasculaires (I60-I69)", Numérique, "Continu", Format( "Best", 12 ) ), New Column( "COVID-19 (U071, causes multiples de décès )", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle Colonne( "COVID-19 (U071, Cause sous-jacente du décès)", Numérique, "Continu", Format( "Meilleur", 12 ) ), Nouvelle colonne( "flag_allcause", Caractère, "Nominal" ), Nouvelle colonne( "flag_natcause", Caractère, "Nominal" ), Nouvelle colonne( "flag_sept", Caractère, "Nominal"), Nouvelle colonne( "flag_neopl" , Caractère, "Nominal" ), Nouvelle Colonne( "flag_diab", Caractère, "Nominal" ), Nouvelle Colonne( "flag_alz", Caractère, "Nominal" ), Nouvelle Colonne( "flag_inflpn", Caractère, "Nominal"), Nouvelle colonne( "flag_clrd", Caractère, "Nominal"), Nouvelle colonne( "flag_otherresp", Caractère, "Nominal" ), Nouvelle colonne( "flag_nephr", Caractère, "Nominal" ), Nouvelle colonne( "flag_otherunk", Caractère , "Nominal" ), Nouvelle Colonne( "flag_hd", Caractère, "Nominal" ), Nouvelle Colonne( "flag_stroke", Caractère, "Nominal" ), Nouvelle Colonne( "flag_cov19mcod", Caractère, "Nominal") ), Nouvelle Colonne ( "flag_cov19ucod", Caractère, "Nominal" ) ), Paramètres d'importation ( Fin de ligne ( CRLF, CR, LF ), Fin de champ ( Virgule, CSV ( 1 ) ), Citations de bande ( 1 ), Utiliser l'apostrophe comme guillemet ( 0 ), Utiliser les paramètres régionaux ( 0 ), Analyser le fichier entier ( 1 ), Traiter les colonnes vides comme numériques ( 0 ), CompressNumericColumns ( 0 ), CompressCharacterColumns ( 0 ), CompressAllowListCheck ( 0 ), Labels ( 1 ), Début des noms de colonne ( 1 ), Début des données ( 2 ), Lignes à lire ( "Tous" ), Règle de l'année ( " 20xx " ) ) ); dtProv:" Toutes les causes"n << Définir le nom ("Toutes les causes"); dtFinal:"Toutes les causes"n << Définir le nom("Toutes les causes"); dtAll = dtFinal << Concatenate( dtProv, Créer une colonne source ); dtAll << Select Where(:Juridiction of Occurrence == Juristiction Filter ); dtSub = dtAll << Subset( Selected Rows( 1 ), Selected columns only( 0 ) ); dtSub << Sélectionnez où( :Date de fin de semaine > date dmy( 1,3,2020) ); //Masquer les nouvelles données dtSub << Masquer et exclure(1); ts = dtSub << Séries temporelles( X( :Date de fin de la semaine), Y( :Toutes les causes), Décalages d'autocorrélation( 52 ), Périodes de prévision( 52 ), ARIMA saisonnier( 0, 0, 0, 1, 1, 1, 52, Intervalle de prédiction( 0,99 ) ), SendToReport( Dispatch( {}, "Time Series Basic Diagnostics", OutlineBox, {Close( 1 )} ), Dispatch( {"Comparaison de modèles"}, "", ScrollBox, {Couleur d'arrière-plan ( 117 )} ) ) ); dtPred = (((ts << XPath("//OutlineBox[
@helpKey='ARIMA Model']"))[1]) << Get Scriptable object) << Save Prediction Formula; dtJoined = dtSub << Join( With( dtPred ), Merge Same Name Columns, By Row Number ); dtJoined << New Column("Excess v Expected", Numeric, "Continuous", Format("Best", 12), Formula(:All Cause - :Predicted All Cause), Set Display Width(100)); dtJoined << New Column("Cumulative[Excess v Expected]", Numeric, "Continuous", Format("Best", 12), Formula(Col Cumulative Sum(:Excess v Expected)), Set Display Width(173)) ; dernière ligne avec les valeurs réelles = max(dtJoined << Get rows where( !Is Missing( :All Cause ) ))-1 ; dernière date avec valeurs réelles = dtJoined:Week Ending Date[dernière ligne avec valeurs réelles] ; dtJoined << Graph Builder( Size( 1174, 786 ), Show Control Panel( 0 ), Show Subtitle( 1 ), Variables( X( :Week Ending Date ), Y( :"Cumulative[Excess v Expected]"n ), Y( :Excess v Expected ), Y( :All Cause ), Y( :Predicted All Cause, Position( 3 ) ), Y( :"Upper CL (0.99) All Cause"n, Position( 3 ) ), Y( :"Lower CL (0.99) All Cause"n, Position( 3 ) ) ), Tailles relatives( "Y", [229 204 387] ), Elements( Position( 1, 1 ), Points( X, Y, Legend( 18 ) ) ), Éléments ( Position ( 1, 2 ), Points ( X, Y, Légende ( 20 ) ), Zone ( X, Y, Légende ( 22 ), Style d'intervalle ( "Bande" ) ) ), Éléments ( Position ( 1, 3 ), Points ( X, Y ( 1 ), Légende ( 13 ) ), Ligne ( X, Y ( 2 ), Y ( 3 ), Y ( 4 ), Légende ( 15 ) ) ), Filtre de données local ( Ajouter un filtre ( colonnes ( : Date de fin de la semaine ), Où ( : Date de fin de la semaine >= 3471638400 & : Date de fin de la semaine <= dernière date avec valeurs réelles ) ) ), SendToReport ( Dispatch ( {}, "Date de fin de la semaine", ScaleBox , {Min( 3462203520 ), Max( dernière date avec chiffres réels + en jours(7) ), Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 ), Add Ref Line( last date with actuals, "Solid ", "Noir", Format (dernière date avec valeurs réelles, "ddMonyyyy"), 1 ), Label Row (Afficher la grille principale ( 1 ) )} ), Dispatch ( {}, "Cumulative[Excess v Expected]", ScaleBox, {Min( 0 ), //Max( 819328.125380856 ), Inc( 200000 ), Minor Ticks( 1 ), Add Ref Line( 0, "Solid", "Black", "", 1 ), Label Row( Show Major Grid ( 1 ) )} ), Dispatch( {}, "Excess v Expected", ScaleBox, {Min( 0 ), //Max( 26451.6956907074 ), Inc( 10000 ), Minor Ticks( 1 ), Add Ref Line( 0, "Solid", "Black", "", 1 ), Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )} ), Dispatch( {}, "All Cause", ScaleBox, {Min ( 0 ), //Max( 90470.7642581624 ), Inc( 10000 ), Minor Ticks( 4 ), Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )} ), Dispatch( {}, " 400", ScaleBox, {Legend Model( 22, Properties( 0, {Fill Color( 20 ), Transparency( 0.5 )}, Item ID( "Excess v Expected", 1 ) ) ), Legend Model( 13, Properties( 0 , {Couleur de ligne( 21 )}, ID d'article( "Toutes les causes", 1 ) ) ), Modèle de légende( 15, Propriétés( 0, {Couleur de ligne( 32 )}, ID d'article( "Toutes les causes prévues", 1 ) ), Propriétés( 1, {Couleur de ligne( 70 )}, ID d'article( "CL supérieur (0,99) toutes causes", 1 ) ), Propriétés( 2, {Couleur de ligne( 70 )}, ID d'article( "CL inférieur ( 0.99) All Cause", 1 ) ) )} ), Dispatch( {}, "graph title", TextEditBox, {Set Text( Juristiction Filter || " Décès réels v Décès attendus (décès excessifs)" )} ), Dispatch( {}, "titre du graphique 1", TextEditBox, {Set Text( "Source :
https://data.cdc.gov/NCHS/Weekly-Counts -of-Deaths-by-State-and-Select-Causes/3yf8-kanr et
https://data.cdc.gov/NCHS/Weekly-Provisional-Counts-of-Deaths-by-State-and-S/muzy -jte6" )} ), Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} ), Dispatch( {}, "Y title", TextEditBox, {Set Text( "Cumulative Exces Deaths" )} ), Dispatch( {}, "Y 1 title", TextEditBox, {Set Text( "Excess v Expected\!NDeaths per Month" )} ), Dispatch( {}, "Y 2 title", TextEditBox, {Set Text( "Deaths per Month" )} ), Dispatch( {}, "400", LegendBox, {Legend Position( {18, [0], 20, [1], 22, [6, -3], 13, [2], 15, [3, 4, 5]} )} ), Dispatch( {}, "Graph Builder", FrameBox(3), {Add Graphics Script( 3, Description( "Script" ), dt = Current Data Table(); yMatrix = (dtJoined:All Cause << get values)[54::last row with actuals] |/ Matrix( Reverse( As List( (dtJoined:Predicted All Cause << get values)[54:: dernière ligne avec les valeurs réelles] ) ) ); xMatrix = (dtJoined:Week Ending Date << get values)[54::last row with actuals] |/ Matrix( Reverse( As List( (dtJoined:Week Ending Date << get values)[54::last row with actuals ] ) ) ); Couleur de remplissage( "Vert foncé moyen" ); Transparence( 0.5 ); Polygone( xMatrice, yMatrice ); ), Ordre des lignes de grille ( 1 ), Ordre des lignes de référence ( 3 )} ) ) ); dtFinal << Fermer la fenêtre ; dtProv << Fermer la fenêtre ; dtTout << Fermer la fenêtre ; dtSub << Fermer la fenêtre ; dtPred << Fermer la fenêtre ;