Информация о фильмах
База знаний Wolfram Knowledgebase позволяет изучить поминутную стоимость и кассовые сборы от фильмов, выпущенных с 2000 года. Кроме того, вы можете получить информацию о средней продолжительности проката фильмов, которая подчиняется закону так называемого устойчивого распределения, что необычно для объектов, созданных человеком.
Воспользуемся неявно определенным классом сущностей, чтобы выбрать фильмы, выпущенные с начала данного тысячелетия.
![Click for copyable input](assets.ru/explore-movieology/In_44.png)
Length[movies =
EntityClass["Movie",
EntityProperty["Movie", "ReleaseDate"] ->
Between[{DateObject[{2000}], DateObject[{2015}]}]] // EntityList]
![](assets.ru/explore-movieology/O_34.png)
Извлечем названия фильмов, жанры, срок проката, производственные бюджеты и кассовые сборы.
![Click for copyable input](assets.ru/explore-movieology/In_45.png)
movieData =
EntityValue[
movies, {EntityProperty["Movie", "Name"],
EntityProperty["Movie", "Genres"],
EntityProperty["Movie", "Runtime"],
EntityProperty["Movie", "ReleaseDate"],
EntityProperty["Movie", "ProductionBudget"],
EntityProperty["Movie", "DomesticBoxOfficeGross"]}];
Стоимость минуты фильма, вышедшего в прокат, является функцией с значением, колеблющимся во времени.
![](assets.ru/explore-movieology/O_35.png)
Тем не менее, в среднем за месяц, некоторые периодичные элементы в распределении стоимости за минуту проката становятся видимыми. В частности, на следующем графике зеленые линии сетки обозначают День Независимости США; фиолетовые линии соответствуют Дню Благодарения.
![](assets.ru/explore-movieology/O_36.png)
Как показано на следующем логарифмическом графике, кассовые сборы за минуту проката представляют собой еще более колеблющуюся функцию.
![](assets.ru/explore-movieology/O_37.png)
Среднее время проката фильмов было достаточно постоянно в течение последних 15 лет.
![](assets.ru/explore-movieology/O_38.png)
Распределение времени проката представляет собой oтносительно гладкую функцию.
![Click for copyable input](assets.ru/explore-movieology/In_53.png)
movieRuntimes = DeleteMissing[movieData[[All, 3]]];
![Click for copyable input](assets.ru/explore-movieology/In_54.png)
hg = Histogram[movieRuntimes, {1, 200, 5}, "PDF",
AxesLabel -> Automatic]
![](assets.ru/explore-movieology/O_39.png)
Моделирование с использованием большого количества встроенных распределений указывает на то, что ближе всего для данных подходит стабильное распределение Леви. В данном случае, рассчитаем совместимость данных о фильмах с нормальным (распределение средних значений случайных величин независимых друг от друга и извлеченных из независимых распределений), логнормальным (распределение произведения многих независимых положительных случайных величин), и устойчивым распределениями.
![Click for copyable input](assets.ru/explore-movieology/In_55.png)
edNormal =
EstimatedDistribution[movieRuntimes,
NormalDistribution[\[Mu], \[Sigma]]]
![](assets.ru/explore-movieology/O_40.png)
![Click for copyable input](assets.ru/explore-movieology/In_56.png)
edLogNormal =
EstimatedDistribution[movieRuntimes,
LogNormalDistribution[\[Mu], \[Sigma]]]
![](assets.ru/explore-movieology/O_41.png)
![Click for copyable input](assets.ru/explore-movieology/In_57.png)
edStable =
EstimatedDistribution[movieRuntimes,
StableDistribution[1, \[Alpha], \[Beta], \[Mu], \[Sigma]]]
![](assets.ru/explore-movieology/O_42.png)
Отметим, что устойчивое распределение визуально наиболее точно соответствует распределению данных о фильмах.
![](assets.ru/explore-movieology/O_43.png)
Лишь немногие созданные человеком объекты имеют свойства стабильного распределения. Характерной чертой стабильного распределения является наличие крайних величин, часто в несколько раз превышающих среднее значение распределения. Эта характеристика наблюдается благодаря фильмам. Рассмотрим, 10 фильмов с самoй большой продолжительностью, выпущенных после 1 января 2000 года.
![Click for copyable input](assets.ru/explore-movieology/In_59.png)
longest =
EntityClass[
"Movie", {EntityProperty["Movie", "ReleaseDate"] ->
Between[{DateObject[{2000}], DateObject[{2015}]}],
EntityProperty["Movie", "Runtime"] -> TakeLargest[10]}] //
EntityList
![](assets.ru/explore-movieology/O_44.png)
Представим результаты в виде таблицы.
![](assets.ru/explore-movieology/O_45.png)