Язык Wolfram Language

Обработка изображений и сигналов

Сравнительный анализ погоды в Чикаго и Eвропейских столицах

Найдем столицу в ЕС, которая имеет наиболее похожую температуру с г. Чикаго за последний год. Воспользуемся функцией WarpingDistance для определения сходства между температурными последовательностями в данном анализе.

In[1]:=
Click for copyable input
chicagoTemp = WeatherData["Chicago", "Temperature", {{2015, 7}, {2016, 6}, "Week"}, "Value"];

Получить температурные данные для всех столиц в Европейском Союзе.

In[2]:=
Click for copyable input
capitals = CityData /@ CountryData["EU", "CapitalCity"] // Sort
Out[2]=
In[3]:=
Click for copyable input
capitalsTemp = WeatherData[#, "Temperature", {{2015, 7}, {2016, 6}, "Week"}, "Value"] -> # & /@ capitals;

Определим Европейскую столицу, которая имеет наиболее близкие температуры к температурам Чикаго.

In[4]:=
Click for copyable input
Nearest[capitalsTemp, chicagoTemp, DistanceFunction -> (QuantityMagnitude@WarpingDistance[##] &)]
Out[4]=

Вычислим попарные расстояния в матрице.

In[5]:=
Click for copyable input
dm = DistanceMatrix[Keys@capitalsTemp, DistanceFunction -> (QuantityMagnitude@WarpingDistance[##] &)];

Создадим 7×7 подматрицу матрицы разниц температурных значений

In[6]:=
Click for copyable input
MatrixForm[Take[dm, 7, 7]]
Out[6]//MatrixForm=

Визуализируем сходство температурных значений с использованием матрицы, подготовленной в предыдущем шаге.

код на языке Wolfram Language целиком
In[7]:=
Click for copyable input
MatrixPlot[dm, FrameTicks -> {{Transpose[{Range[Length@capitals], capitals}], None}, {Transpose[{Range[Length@capitals], Rotate[#, \[Pi]/2] & /@ capitals}], None}}, Mesh -> True, ColorFunction -> "BlueGreenYellow", PlotLegends -> Placed[Automatic, Above], PlotLabel -> "Distance based on temperature", ImageSize -> Large]
Out[7]=

Родственные примеры

de en es fr ja ko pt-br zh