Язык Wolfram Language

Операции с временными рядами

Пилотируемые космические миссии

Данные о пилотируемых космических миссиях, MannedSpaceMissionData, предоставляют историческую и актуальную информацию об освоении космического пространства человеком.

In[1]:=
Click for copyable input
missions = MannedSpaceMissionData[];

Зададим данные для ряда событий, EventSeries, на основе даты запуска миссий с векторными значениями, оражающими цели и продолжительность каждой миссии.

In[2]:=
Click for copyable input
data = DeleteMissing[ MannedSpaceMissionData[ missions, {"LaunchDate", "Entity", "MissionDuration"}], 1, 2];
In[3]:=
Click for copyable input
es = EventSeries[data[[All, {2, 3}]], {data[[All, 1]]}]
Out[3]=

Временная шкала TimelinePlot показывает почти непрерывный диапазон пилотируемых миссий, осуществлённых с 1961 года.

In[4]:=
Click for copyable input
TimelinePlot[es["Dates"]]
Out[4]=

Для анализа продолжительности миссий, извлечем второй компонент исходного ряда событий и преобразуем значения в часы.

In[5]:=
Click for copyable input
durations = UnitConvert[es["PathComponent", 2], "Hours"]
Out[5]=

Короткие миссии являются наиболее распространенными.

In[6]:=
Click for copyable input
Histogram[durations, Quantity[{0, 6000, 500}, "Hours"], AxesLabel -> Automatic]
Out[6]=
код на языке Wolfram Language целиком
In[7]:=
Click for copyable input
x1 = 250; x2 = 4500; line1 = {{es["FirstDate"], x1}, {es["LastDate"], x1}}; line2 = {{es["FirstDate"], x2}, {es["LastDate"], x2}}; opts = {Joined -> {False, True, True}, Filling -> {1 -> 0}, PlotLabels -> {None, Quantity[x1, "Hours"], UnitConvert[Quantity[N[x2, 4], "Hours"], "Days"]}};
In[8]:=
Click for copyable input
DateListPlot[{durations, line1, line2}, opts]
Out[8]=

Рассчитаем описательную статистику длительности космических миссий. Обратим внимание на тот факт, что среднее значение и среднее медианы равнозначно удалены друг от друга, что указывает на длинный хвост распределения.

In[9]:=
Click for copyable input
stats = {Min, Max, Mean, Median}; convert := UnitConvert[N[#], MixedUnit[{"Months", "Days", "Hours", "Minutes"}]] &
In[10]:=
Click for copyable input
TableForm[Map[convert[#[durations]] &, stats], TableHeadings -> {stats}]
Out[10]//TableForm=

Общее время пребывания человека в космосе.

In[11]:=
Click for copyable input
UnitConvert[Total[durations], MixedUnit[{"Years", "Months", "Days", "Hours", "Minutes", "Seconds"}]]
Out[11]=

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

de en es fr ja ko pt-br zh