Непараметрические распределения количественных данных
Воспользуемся функциeй WeatherData для получения временных рядов измерений скорости ветра в городе Чикаго с начала 2014 года до конца 2015 года.
In[1]:=
wsts = WeatherData["Chicago",
"WindSpeed", {DateObject[{2014, 1, 1}], DateObject[{2015, 12, 31}]}]
Out[1]=
Воспользуемся функциeй Histogram для визуализации распределения скоростей ветра.
In[2]:=
Histogram[wsts, PlotTheme -> "Detailed", FrameLabel -> Automatic]
Out[2]=
Извлечем значения скорости ветра и интерполируем пропущенные значения.
In[3]:=
winds = Values[TimeSeries[wsts, MissingDataMethod -> "Interpolation"]]
Out[3]=
Воспользуемся функциeй SmoothKernelDistribution для построения непараметрической модели скорости ветра в Чикаго при том, что скорость ветра остается неотрицательной величиной.
In[4]:=
ws\[ScriptCapitalD] =
SmoothKernelDistribution[winds,
Automatic, {"Bounded", Quantity[0, ("Kilometers")/("Hours")],
"Gaussian"}]
Out[4]=
Построим непараметрическую модель, где выходная мощность ветровой турбины представляет функцию скорости ветра, для оценки средней мощности полученной энергии для ветровой турбины компании Дженерел Электрик установленной на местности.
In[5]:=
turbine =
Interpolation[
QuantityArray[{{0.`, 0.`}, {0.5`, 0.`}, {1.`, 0.`}, {1.5`,
0.`}, {2.`, 0.`}, {2.5`, 0.`}, {3.`, 0.`}, {3.5`, 0.`}, {4.`,
36.`}, {4.5`, 66.`}, {5.`, 104.`}, {5.5`, 150.`}, {6.`,
205.`}, {6.5`, 269.`}, {7.`, 344.`}, {7.5`, 428.`}, {8.`,
528.`}, {8.5`, 644.`}, {9.`, 774.`}, {9.5`, 926.5`}, {10.`,
1079.`}, {10.5`, 1211.`}, {11.`, 1342.`}, {11.5`,
1401.`}, {12.`, 1460.`}, {12.5`, 1477.`}, {13.`,
1494.`}, {13.5`, 1500.`}, {30.`, 1500.`}}, {"Meters"/"Seconds",
"Kilowatts"}] // Normal, InterpolationOrder -> 1];
In[6]:=
NExpectation[turbine[v], v \[Distributed] ws\[ScriptCapitalD]]
Out[6]=