听别人分享提到了CAP曲线,网上资料比较少,自己动手实践一发
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站设计、成都做网站、外贸网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
输入: predictions , labels , cut_point
数据预览,左列labels,右列predictions
模型预测坏客户/企业的能力较好,和最优模型的接近程度为0.81
fd = {}
for l in open('a.txt', 'r'):
ar = l.split(' ')
if len(ar) == 2:
fd[ar[0]] = ar[1]
with open('out.txt', 'w') as fw:
for l in open('b.txt', 'r'):
ar = l.split(' ')
if len(ar) == 2:
if ar[0] in fd:
fw.write(' '.join([ ar[0],fd[ar[0]].strip('\n'),ar[0],ar[1]]))
print('ok')
你试试吧 性能应当还可以,百万的数据量的话不会超过一分钟
需要载入numpy和scipy库,若需要做可视化还需要matplotlib(附加dateutil, pytz, pyparsing, cycler, setuptools库)。不画图就只要前两个。
如果没有这些库的话去 下载对应版本,之后解压到 C:\Python27\Lib\site-packages。
import numpy as np
import pylab as plt
#import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from scipy import asarray as ar,exp
x = ar(range(10))
y = ar([0,1,2,3,4,5,4,3,2,1])
def gaussian(x,*param):
return param[0]*np.exp(-np.power(x - param[2], 2.) / (2 * np.power(param[4], 2.)))+param[1]*np.exp(-np.power(x - param[3], 2.) / (2 * np.power(param[5], 2.)))
popt,pcov = curve_fit(gaussian,x,y,p0=[3,4,3,6,1,1])
print popt
print pcov
plt.plot(x,y,'b+:',label='data')
plt.plot(x,gaussian(x,*popt),'ro:',label='fit')
plt.legend()
plt.show()
(一)白噪声的检验
一般判断平稳有三种方法
(1)直接画出时间序列的趋势图,看趋势判断
(2)画出自相关和偏相关图:平稳的序列和自相关图和偏相关图要么拖尾,要么截尾。
(3)单位根检验:检验序列中是否存在单位根,如果存在单位根就是非平稳时间序列。
设mean(x),var(x)分别为序列{x}的平均值和方差,根据自身相关系数ACF判断是否为平稳序列:
ACF=∑(x[i]-mean(x)) (x[i+k]-mean(x))/(n var(x)),0=kN,0=iN-k
如果ACF系数随K值的增加衰减到0的速度比非平稳随机序列更快,即可说明为平稳的。
不平稳序列可以通过差分转换为平稳序列。k阶差分就是相距k期的两个序列值相减。如果一个时间序列经过差分运算后具有平稳序列,则该序列为差分平稳序列。
(二)AR模型的参数估计
AR模型的参数估计主要有三种方法:矩估计、最小二乘估计和最大似然估计。
在此学习最小二乘估计。
对于样本序列{x t },当j=p+1时,记白噪声的估计为
//以上流程就是最小二乘用矩阵的方式运算,很简单的
(三)AR模型的定阶
在对AR模型识别时,根据其样本自相关系数的截尾步数,可初步得到AR模型的阶数p,然而,此时建立的 AR(p) 未必是最优的。
定阶的一般步骤为:
(1).确定p值的上限,一般是序列长度N的比例或是lnN的倍数
(2).在补偿过max(p)值的前提下,从1开始根据某一原则确定最优p。
一个好的模型通常要求残差序列方差较小,同时模型页相对简单,即要求阶数较低。因此我们需要一些准则来比较不同阶数的模型之间的优劣,从而确定最合适的阶数。下面给出四种常用的定阶准则。
是序列的各阶样本自协方差函数,其最终预报误差可表示为
在具体应用时,通常是分别建立从低阶到高阶的 AR 模型,并计算出相应的 FPE 的值,由此确定使 FPE 达到最小的 p 值。
2.贝叶斯信息准则
定义
使得 BIC 达到最小值的 p 即为该准则下的最优 AR 模型的阶数。
3.AIC(最小信息准则)
4.SC(施瓦茨准则)
另:python中有函数可以直接求AIC,BIC,HQIC的值。
python操作实例推荐