jjzjj

python - scipy - 生成具有相关性的随机变量

我正致力于在Python中实现一个基本的蒙特卡罗模拟器,用于我尝试做的一些项目管理风险建模(基本上是CrystalBall/@Risk,但在Python中)。我有一组n随机变量(所有scipy.stats实例)。我知道我可以使用rv.rvs(size=k)从每个nk独立观察变量。我想通过指定一个nxn半正定相关矩阵来引入变量之间的相关性。在scipy中有没有一种干净的方法来做到这一点?我尝试过的Thisanswer和thisanswer似乎表明“copulas”将是一个答案,但我没有在scipy中看到任何对它们的引用。Thislink似乎实现了我正在寻找的东西,但我不确定scipy是否

python - 寻找相关矩阵

我有一个相当大的矩阵(大约50K行),我想打印矩阵中每一行之间的相关系数。我写过这样的Python代码:foriinxrange(rows):#rowsarethenumberofrowsinthematrix.forjinxrange(i,rows):r=scipy.stats.pearsonr(data[i,:],data[j,:])printr请注意,我正在使用scipy模块(http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html)中提供的pearsonr函数。我的问题是:有没有更

Python/Scipy 插值 (map_coordinates)

我正在尝试使用scipy进行一些插值。我已经查看了很多示例,但我没有找到我想要的东西。假设我有一些数据,其中行和列变量可以在0到1之间变化。每行和列之间的增量变化并不总是相同(见下文)。|0.000.250.801.00------|----------------------------0.00|1.406.501.501.800.60|8.907.301.101.091.00|4.509.201.801.20现在我希望能够获取一组x,y点并确定插值。我知道我可以用map_coordinates做到这一点。我想知道是否有任何简单/聪明的方法可以为数据数组中的适当索引创建x,y值。例如

python - Numpy->Cython 转换 : Compile error:Cannot convert 'npy_intp *' to Python object

我有以下代码可以正确转换为cython:fromnumpyimport*##returnswinningplayersor[]ifundecided.defscore(board):scores=[]checked=zeros(board.shape)foriinxrange(len(board)):forjinxrange(len(board)):ifchecked[i,j]==0andboard[i,j]!=0:...dostuf我尝试转换为cython:importnumpyasnpcimportnumpyasnp@cython.boundscheck(False)@cython

python - Python 中的多变量核密度估计

我正在尝试使用SciPy的gaussian_kde函数来估计多变量数据的密度。在我下面的代码中,我对3D多元法线进行采样并拟合核密度,但我不确定如何评估我的拟合度。importnumpyasnpfromscipyimportstatsmu=np.array([1,10,20])sigma=np.matrix([[4,10,0],[10,25,0],[0,0,100]])data=np.random.multivariate_normal(mu,sigma,1000)values=data.Tkernel=stats.gaussian_kde(values)我看到了this但不确定如何将

python - 指数曲线拟合的置信区间

我正在尝试获取某些x,y数据(可用here)的指数拟合的置信区间。这是我必须找到最适合数据的指数的MWE:frompylabimport*fromscipy.optimizeimportcurve_fit#Readdata.x,y=np.loadtxt('exponential_data.dat',unpack=True)deffunc(x,a,b,c):'''Exponential3-paramfunction.'''returna*np.exp(b*x)+c#Findbestfit.popt,pcov=curve_fit(func,x,y)printpopt#Plotdataand

用于引导置信区间和非参数多数据集比较的 Python 统计包

我正在寻找一个Python包,它可以计算一个/两个自举置信区间并执行非参数多数据集比较。有人知道吗? 最佳答案 在我实验室伙伴的帮助下,我找到了我需要的所有统计数据包。自举CI:http://scikits.appspot.com/bootstrap方差分析:http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.f_oneway.html我希望这对其他遇到我问题的人有所帮助! 关于用于引导置信区间和非参数多数据集比

python - Matplot : How to plot true/false or active/deactive data?

我想绘制类似于下图的true/false或active/deactive二进制数据:横轴是时间,纵轴是一些实体(这里是一些传感器),它们是事件的(白色)或非事件的(黑色)。我如何使用pyplot绘制这样的图表。我搜索了这些图表的名称,但找不到。 最佳答案 你要找的是imshow:importmatplotlib.pyplotaspltimportnumpyasnp#getsomedatawithtrue@probability80%data=np.random.random((20,500))>.2fig=plt.figure()a

python - 相当于 MATLAB spy 的 scipy

我一直在将isomap算法的代码从MATLAB移植到Python。我正在尝试使用spy函数可视化稀疏模式。MATLAB命令:spy(sparse(A));drawnow;Python命令:matplotlib.pyplot.spy(scipy.sparse.csr_matrix(A))plt.show()我无法使用上述命令在Python中重现MATLAB结果。使用仅包含非稀疏格式A的命令会给出与MATLAB非常相似的结果。但这需要很长时间(A是2000到2000)。什么是MATLAB等同于scipy的稀疏函数? 最佳答案 也许是您的

python - 用 Python 进行样条插值

我编写了以下代码来执行样条插值:importnumpyasnpimportscipyasspx1=[1.,0.88,0.67,0.50,0.35,0.27,0.18,0.11,0.08,0.04,0.04,0.02]y1=[0.,13.99,27.99,41.98,55.98,69.97,83.97,97.97,111.96,125.96,139.95,153.95]x=np.array(x1)y=np.array(y1)new_length=25new_x=np.linspace(x.min(),x.max(),new_length)new_y=sp.interpolate.inte