比较芝加哥和欧洲首府城市的天气
找出去年与芝加哥的气温最接近的欧盟首府城市. 使用 WarpingDistance 来确定温度序列间的相似度.
In[1]:=
![Click for copyable input](assets.zh/compare-weather-in-chicago-and-european-capitals/In_10.png)
chicagoTemp =
WeatherData["Chicago",
"Temperature", {{2015, 7}, {2016, 6}, "Week"}, "Value"];
获取所有欧盟首府城市的气温.
In[2]:=
![Click for copyable input](assets.zh/compare-weather-in-chicago-and-european-capitals/In_11.png)
capitals = CityData /@ CountryData["EU", "CapitalCity"] // Sort
Out[2]=
![](assets.zh/compare-weather-in-chicago-and-european-capitals/O_7.png)
In[3]:=
![Click for copyable input](assets.zh/compare-weather-in-chicago-and-european-capitals/In_12.png)
capitalsTemp =
WeatherData[#, "Temperature", {{2015, 7}, {2016, 6}, "Week"},
"Value"] -> # & /@ capitals;
找出与芝加哥气温最接近的首府城市.
In[4]:=
![Click for copyable input](assets.zh/compare-weather-in-chicago-and-european-capitals/In_13.png)
Nearest[capitalsTemp, chicagoTemp,
DistanceFunction -> (QuantityMagnitude@WarpingDistance[##] &)]
Out[4]=
![](assets.zh/compare-weather-in-chicago-and-european-capitals/O_8.png)
在一个矩阵中计算两两之间的距离.
In[5]:=
![Click for copyable input](assets.zh/compare-weather-in-chicago-and-european-capitals/In_14.png)
dm = DistanceMatrix[Keys@capitalsTemp,
DistanceFunction -> (QuantityMagnitude@WarpingDistance[##] &)];
显示距离矩阵的 7×7 子矩阵.
In[6]:=
![Click for copyable input](assets.zh/compare-weather-in-chicago-and-european-capitals/In_15.png)
MatrixForm[Take[dm, 7, 7]]
Out[6]//MatrixForm=
![](assets.zh/compare-weather-in-chicago-and-european-capitals/O_9.png)
利用之前计算过的距离矩阵可视化温度的相似度.
显示完整的 Wolfram 语言输入
Out[7]=
![](assets.zh/compare-weather-in-chicago-and-european-capitals/O_10.png)