Wolfram言語

確率と統計における数量

トンネル

TunnelDataは,長さや所在地等,トンネルについての情報を提供する.

In[1]:=
Click for copyable input
tunnels = TunnelData[];
In[2]:=
Click for copyable input
Length[tunnels]
Out[2]=

それぞれのトンネルについて,単一あるいは複数の国で与えられる長さと所在地を求める.

In[3]:=
Click for copyable input
rawData = TunnelData[tunnels, {"Countries", "Length"}];

データをきれいにし,欠測値を取り除く.

In[4]:=
Click for copyable input
data = DeleteMissing[rawData, 1, 2];

長さのデータをマイルに変換する.

In[5]:=
Click for copyable input
data[[All, 2]] = UnitConvert[N[data[[All, 2]]], "Miles"];
In[6]:=
Click for copyable input
lengths = data[[All, 2]];
In[7]:=
Click for copyable input
MinMax[lengths]
Out[7]=
In[8]:=
Click for copyable input
h = Histogram[lengths, {1, 12, .5}, PDF, FrameLabel -> Automatic, PlotTheme -> "Detailed"]
Out[8]=

データは長い裾を持つ分布の混合で説明できることがある.

In[9]:=
Click for copyable input
dist = MixtureDistribution[{w1, w2}, {ParetoDistribution[a1, a2, a3, a4], WeibullDistribution[b1, b2]}];
In[10]:=
Click for copyable input
edist = EstimatedDistribution[lengths, dist]
Out[10]=

パラメトリック族の混合分布に対する適合度を検定する.

In[11]:=
Click for copyable input
DistributionFitTest[lengths, dist, "TestDataTable"]
Out[11]=

フィットされた分布の確率密度関数をヒストグラムに対してプロットする.

In[12]:=
Click for copyable input
Show[h, Plot[PDF[edist, Quantity[x, "Miles"]], {x, 1, 12}, PlotRange -> All] // Quiet]
Out[12]=

トンネルの所在地を可視化する.

国ごとにグループ分けする.

In[13]:=
Click for copyable input
res = GroupBy[data, First, Flatten[Take[#, All, -1]] &];

トンネルの中には複数の国にまたがっているものもある.

In[14]:=
Click for copyable input
shared = Select[Keys[res], Length[#] > 1 &]
Out[14]=

共有されているトンネルを分配し,少なくとも10本のトンネルがある国を選ぶ.長さの分布図をプロットする.

完全なWolfram言語入力を表示する
In[15]:=
Click for copyable input
split = GroupBy[ Flatten[Map[{{{#[[1]]}, res[#]}, {{#[[2]]}, res[#]}} &, shared], 1], First, Flatten[#[[All, 2]]] &];
In[16]:=
Click for copyable input
together = Join[KeyDrop[res, shared], split, 2];
In[17]:=
Click for copyable input
tc = SortBy[Select[Normal[together], Length[#[[2]]] >= 10 &], Length@*Last];
In[18]:=
Click for copyable input
DistributionChart[tc[[All, 2]], ChartLabels -> tc[[All, 1, 1]], BarOrigin -> Left, BarSpacing -> .3, FrameLabel -> {"Miles"}, LabelingFunction -> (Placed[Length[#1], After] &), ChartStyle -> "SandyTerrain", ImageSize -> Large]
Out[18]=

国ごとのトンネルの総マイル数.共有されるトンネルについては各国における完全な長さを含む.

完全なWolfram言語入力を表示する
In[19]:=
Click for copyable input
vals = KeyMap[First, Map[Total, together]]; title = Style["tunnel mileage", 24, Bold, GrayLevel[.2], FontFamily -> "Osaka"]; GeoRegionValuePlot[vals, GeoProjection -> "Mercator", GeoRange -> {{-65, 80}, {-170, 190}}, PlotLegends -> Automatic, ColorFunction -> (ColorData["StarryNightColors", 2 #] &), Epilog -> Inset[title, {30, -65}], ImageSize -> 500]
Out[19]=

関連する例

de en es fr ko pt-br ru zh