fitlognpdf.py-20170824

#!/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)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值