import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from statsmodels.stats.stattools import jarque_bera
np.random.seed(321)
# Generate a very large normally distributed sample
sample = np.random.normal(100, 10, 100000)
# Confirm this sample is very close to our inputs
plt.hist(sample, 20)
print('Mean: {}'.format(np.mean(sample)))
print('Std: {}'.format(np.std(sample)))
plt.show()
jarque_bera(sample)
# Generate a very large bimodal distribution
first_component = np.random.normal(100, 10, 10000)
second_component = np.random.normal(2000, 10, 10000)
sample_two = np.concatenate([first_component, second_component])
# Confirm this sample is obviously NOT normally distributed
plt.hist(sample_two, 100)
print('Mean: {}'.format(np.mean(sample)))
print('Std: {}'.format(np.std(sample)))
plt.show()
jarque_bera(sample_two)