CODE

analysis[data_,family_:Nothing ]:=Module[{},
tData=TimeSeriesModelFit[data,family,Method->{Automatic,"SelectionCriterion"->"AIC"}];
Print[tData];
Print[tData["CandidateSelectionTable"]];
Print[Normal[tData]];
fc=TimeSeriesForecast[tData,{2}];
α=.95;
q=Quantile[NormalDistribution[],1-(1-α)/2];
err=Sqrt[fc["MeanSquaredErrors"]];
bands=TimeSeriesThread[{{1,-q}.#,{1,q}.#}&,{fc,err}];
(*Print[Normal[bands]];
Print[Normal@TimeSeriesForecast[tData,{2}]];*)
predictions=MapThread[Prepend,{(Normal@bands)[[1,;;,2]],(Normal@fc)[[1,;;,2]]}];
Print[predictions];
Print[];
ListLinePlot[{tData["TemporalData"],fc,bands["PathComponent",1],bands["PathComponent",2]},Filling->{3->{4}},PlotStyle->{Automatic,Automatic,Gray,Gray}]
];

modelCheck[data_]:=TimeSeriesModelFit[data,#,Method->{Automatic,"SelectionCriterion"->"AIC"}]["CandidateSelectionTable"]&/@
{"AR","MA","ARMA","ARIMA","SARMA","SARIMA","ARCH","GARCH"};

makePredictionJSON[startYear_,data_,prevData_]:=
Module[{years,jsonList},
years=Range[startYear,startYear+Length[data]-1];
jsonList=MapThread[<|"year"->#1,"prediction"->#2[[1]],"lower"->#2[[2]],"upper"->#2[[3]]|>&,{years,data}];
PrependTo[jsonList,<|"year"->startYear-1,"prediction"->Last@prevData,"lower"->Last@prevData,"upper"->Last@prevData|>]
];

makeTrendJSON[startYear_,data_]:=
Module[{years,jsonList},
years=Range[startYear,startYear+Length[data]-1];
jsonList=MapThread[<|"year"->#1,"value"->#2|>&,{years,data}]
];

1. Ликвидация нищеты

2. Ликвидация голода

Индекс производства продукции сельского хозяйства в сопоставимых ценах 2010 года

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/2/agriculture.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

jsonString

analysis[rostov]

Export[NotebookDirectory[]~~"src/data/2/trend_2_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/2/predictions_2_1.json",makePredictionJSON[2023,predictions,rostov]];

3. Хорошее здоровье и благополучие

Младенческая смертность (на 1 000 родившихся живыми), промилле

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/3/death_rate_infant.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/3/trend_3_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/3/predictions_3_1.json",makePredictionJSON[2023,predictions,rostov]];

Смертность детей в возрасте 0-4 года на 1 000 родившихся живыми, промилле

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/3/death_rate04.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,{"ARIMA",{Automatic,1,Automatic}}]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/3/trend_3_2.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/3/predictions_3_2.json",makePredictionJSON[2023,predictions,rostov]];

4. Качественное образование

Охват средним профессиональным образованием

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/4/school.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,{"MA",{0}}]

Export[NotebookDirectory[]~~"src/data/4/trend_4_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/4/predictions_4_1.json",makePredictionJSON[2023,predictions,rostov]];

Охват высшим образованием - программами бакалавриата, специалитета, магистратуры

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/4/bacalaureat.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,{"ARIMA",{Automatic,1,Automatic}}]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/4/trend_4_2.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/4/predictions_4_2.json",makePredictionJSON[2023,predictions,rostov]];

5. Гендерное равенство

Доля женщин на руководящих должностях, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/5/women_leading.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/5/trend_5_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/5/predictions_5_1.json",makePredictionJSON[2023,predictions,rostov]];

6. Чистая вода и санитария

Доля населения Российской Федерации, обеспеченного качественной питьевой водой из систем централизованного водоснабжения, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/6/good_waters.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/6/trend_6_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/6/predictions_6_1.json",makePredictionJSON[2023,predictions,rostov]];

7. Недорогостоящая и чистая энергия

Потребление электроэнергии на человека, кВт.час/чел

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/7/energy_per_peep.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,{"SARIMA",{{1,1,1},{0,1,0},1}}]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/7/trend_7_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/7/predictions_7_1.json",makePredictionJSON[2023,predictions,rostov]];

8. Достойная работа и экономический рост

Общий уровень занятости, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/8/total_employment.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/8/trend_8_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/8/predictions_8_1.json",makePredictionJSON[2023,predictions,rostov]];

9. Индустриализация,инновации и инфраструктура

Плотность автомобильных дорог общего пользования с твердым покрытием на 1000 кв. км территории, км

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/9/auto_density.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,"ARIMA"]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/9/trend_9_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/9/predictions_9_1.json",makePredictionJSON[2023,predictions,rostov]];

10. Уменьшение неравенства

Коэффициент Джинни

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/10/ginni.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/10/trend_10_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/10/predictions_10_1.json",makePredictionJSON[2023,predictions,rostov]];

11. Устойчивые города и населенные пункты

Доля городов с благоприятной средой от общего количества городов (индекс качества городской среды - выше 50 процентов), %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/11/cool_cities.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,"ARIMA"]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/11/trend_11_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/11/predictions_11_1.json",makePredictionJSON[2023,predictions,rostov]];

12. Ответственное потребление и производство

Доля направленных на утилизацию отходов, выделенных в результате раздельного накопления и обработки твердых коммунальных отходов, в общей массе образованных отходов, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/12/utilization.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

modelCheck[rostov]

Доля твердых коммунальных отходов, направленных на обработку (сортировку), в общей массе образованных твердых коммунальных отходов, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/12/.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Доля утилизированных и обезвреженных отходов производства и потребления в общем объеме образовавшихся отходов производства и потребления, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/12/.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

13. Борьба с изменением климата

Площадь лесных земель, пройденная пожарами, га

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/13/wildfires.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

Export[NotebookDirectory[]~~"src/data/13/trend_13_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/13/predictions_13_1.json",makePredictionJSON[2023,predictions,rostov]];

14. Сохранение морских экосистем

Доля нормативно очищенных сточных вод, сброшенных в моря Российской Федерации, %

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/14/cleaned_waters.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

15. Сохранение экосистем суши

Индекс физического объема природоохранных расходов в ценах 2010 года

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/15/ecology_expense.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/15/trend_15_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/15/predictions_15_1.json",makePredictionJSON[2023,predictions,rostov]];

16. Мир, правосудие и эффективные институты

Доля населения, использующего сеть Интернет для получения государственных и муниципальных услуг, в процентах от общей численности населения

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/16/gosuslugi.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,"ARIMA"]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/16/trend_16_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/16/predictions_16_1.json",makePredictionJSON[2023,predictions,rostov]];

17. Партнерство в интересах устойчивого развития

Доля населения, пользующегося информационно-телекоммуникационной сетью «Интернет»

data=Import["/Users/axis/Documents/Work/ИИ для ЦУР/app/src/data/17/internet_overall.csv"];
rostov=Select[data,#[[1]]=="Ростовская область"&][[1,2;;]]

analysis[rostov,"ARIMA"]

modelCheck[rostov]

Export[NotebookDirectory[]~~"src/data/17/trend_17_1.json",makeTrendJSON[2010,rostov]];
Export[NotebookDirectory[]~~"src/data/17/predictions_17_1.json",makePredictionJSON[2023,predictions,rostov]];