#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 24 11:20:44 2017
@author: vicky
"""
import numpy as np
import pandas as pd
from scipy import stats, integrate
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.optimize import curve_fit
from sklearn.neighbors import kde
#sns.set(color_codes=True)
#np.random.seed(sum(map(ord, "distributions")))
#x = np.random.normal(size=100)
#sns.distplot(x);
#sns.distplot(x, hist=False, rug=True);
#sns.distplot(x,kde=False, fit=stats.expon)
#sns.distplot(x, bins=150, kde=False, fit=stats.expon)
x = np.linspace(500, 149500, 150)
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
kde = kde.KernelDensity(kernel='gaussian', bandwidth=0.2).fit(X)
print(kde.score_samples(X))
print(np.exp(kde.score_samples(X)))
def func(x, mu, sigma):
return 1/((2*pi)^(1/2)*sigma*x)*exp(-(log(x)-mu)^2/(2*sigma^2))
# define the data to be fit with some noise
xdata = np.linspace(500, 149500, 150)
y = func(xdata, 1,0)
#y_noise = 0.2 * np.random.normal(size=xdata.size)
#ydata = y + y_noise
i=1
ydata=cp[i,:]
plt.plot(xdata, ydata, 'b-', label='data')
# Fit for the parameters a, b, c of the function `func`
popt, pcov = curve_fit(func, xdata, ydata)
plt.plot(xdata, func(xdata, *popt), 'r-', label='fit')
# Constrain the optimization to the region of ``0 < a < 3``, ``0 < b < 2``
# and ``0 < c < 1``:
popt, pcov = curve_fit(func, xdata, ydata, bounds=(0, [3., 2., 1.]))
plt.plot(xdata, func(xdata, *popt), 'g--', label='fit-with-bounds')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()
(np,pp)=shape(cp)
x1=np.array[500:149500:1000]
for i in range(np):
m(i,1)=sum(x1*cp[i,:])
v(i,1)=(sum((x1-m(i)).^2*cp(i,:)))^(1/2)
for i in range(np):
xmu(i,1)=log(m(i)/(1+v(i)/m(i)^2)^(1/2))
xsigma(i,1)=(log(1+v(i)/m(i)^2))^(1/2)