Explore o mundo do cinema
Utilize a Wolfram Knowledgebase para estudar o custo por minuto e a receita de bilheteria para filmes laçados a partir do ano 2000. Além disso, explore o tempo médio de projeção desses filmes, que, raramente entre os objetos feitos pelo homem, parece seguir a chamada lei de distribuição estável.
Use uma classe de entidade implicitamente definida para selecionar os filmes lançados desde a virada do milênio.
![Click for copyable input](assets.pt-br/explore-movieology/In_45.png)
Length[movies =
EntityClass["Movie",
EntityProperty["Movie", "ReleaseDate"] ->
Between[{DateObject[{2000}], DateObject[{2015}]}]] // EntityList]
![](assets.pt-br/explore-movieology/O_34.png)
Extraia os títulos dos filmes, gêneros, durações, orçamentos de produção, e os totais de bilheteria.
![Click for copyable input](assets.pt-br/explore-movieology/In_46.png)
movieData =
EntityValue[
movies, {EntityProperty["Movie", "Name"],
EntityProperty["Movie", "Genres"],
EntityProperty["Movie", "Runtime"],
EntityProperty["Movie", "ReleaseDate"],
EntityProperty["Movie", "ProductionBudget"],
EntityProperty["Movie", "DomesticBoxOfficeGross"]}];
O custo por minuto de um filme lançado é uma função altamente flutuante ao longo do tempo.
![](assets.pt-br/explore-movieology/O_35.png)
No entanto, na média de um mês, alguns custos com periodicidade por minuto tornam-se visíveis. Em particular, as linhas verdes mostram o Quatro de Julho e as linhas roxas o Dia de Ação de Graças no gráfico abaixo.
![](assets.pt-br/explore-movieology/O_36.png)
Conforme mostra o gráfico logarítmico abaixo, as receitas de bilheteria por minuto são uma função ainda mais flutuante.
![](assets.pt-br/explore-movieology/O_37.png)
O tempo de projeção médio dos filmes tem sido bastante consistente ao longo dos últimos 15 anos.
![](assets.pt-br/explore-movieology/O_38.png)
Vendo com mais detalhe, a distribuição das projeções de filmes parace ser relativamente suave.
![Click for copyable input](assets.pt-br/explore-movieology/In_54.png)
movieRuntimes = DeleteMissing[movieData[[All, 3]]];
![Click for copyable input](assets.pt-br/explore-movieology/In_55.png)
hg = Histogram[movieRuntimes, {1, 200, 5}, "PDF",
AxesLabel -> Automatic]
![](assets.pt-br/explore-movieology/O_39.png)
Modelar usando um grande número de distribuições integradas indica que o ajuste mais próximo é fornecido por uma distribuição estável de Lévy. Aqui, ajuste usando uma normal (distribuição das médias de variáveis aleatórias feita de forma independente a partir de distribuições independentes), lognormal (a distribuição do produto multiplicativo de muitas variáveis aleatórias positivas independentes), e uma distribuição estável são calculados.
![Click for copyable input](assets.pt-br/explore-movieology/In_56.png)
edNormal =
EstimatedDistribution[movieRuntimes,
NormalDistribution[\[Mu], \[Sigma]]]
![](assets.pt-br/explore-movieology/O_40.png)
![Click for copyable input](assets.pt-br/explore-movieology/In_57.png)
edLogNormal =
EstimatedDistribution[movieRuntimes,
LogNormalDistribution[\[Mu], \[Sigma]]]
![](assets.pt-br/explore-movieology/O_41.png)
![Click for copyable input](assets.pt-br/explore-movieology/In_58.png)
edStable =
EstimatedDistribution[movieRuntimes,
StableDistribution[1, \[Alpha], \[Beta], \[Mu], \[Sigma]]]
![](assets.pt-br/explore-movieology/O_42.png)
Curiosamente, a distribuição estável é visualmente o melhor ajuste.
![](assets.pt-br/explore-movieology/O_43.png)
Apenas alguns objetos feitos pelo homem obedecem a uma distribuição estável. Uma característica de uma distribuição estável é a ocorrência de valores atípicos relativamente grandes, normalmente algumas vezes maiores do que a média. Esta característica é observada em filmes. Aqui, uma classe de entidade definida implicitamente é usada para selecionar os 10 mais longos (por tempo de projeção) filmes lançados após 1 de Janeiro de 2.000.
![Click for copyable input](assets.pt-br/explore-movieology/In_60.png)
longest =
EntityClass[
"Movie", {EntityProperty["Movie", "ReleaseDate"] ->
Between[{DateObject[{2000}], DateObject[{2015}]}],
EntityProperty["Movie", "Runtime"] -> TakeLargest[10]}] //
EntityList
![](assets.pt-br/explore-movieology/O_44.png)
Faça um resumo em uma tabela.
![](assets.pt-br/explore-movieology/O_45.png)