小编sta*_*ner的帖子

使用scipy的Python中的多变量普通CDF

为了计算多元法线的CDF,我按照这个例子(对于单变量情况)但不能解释scipy产生的输出:

from scipy.stats import norm
import numpy as np
mean = np.array([1,5])
covariance = np.matrix([[1, 0.3 ],[0.3, 1]])
distribution = norm(loc=mean,scale = covariance)
print distribution.cdf(np.array([2,4]))
Run Code Online (Sandbox Code Playgroud)

产生的输出是:

[[  8.41344746e-01   4.29060333e-04]
 [  9.99570940e-01   1.58655254e-01]]
Run Code Online (Sandbox Code Playgroud)

如果联合CDF定义为:

P (X1 ? x1, . . . ,Xn ? xn)
Run Code Online (Sandbox Code Playgroud)

那么预期的输出应该是0到1之间的实数.

python normal-distribution scipy cdf

12
推荐指数
2
解决办法
1万
查看次数

加快与Cython的日期时间比较

我试图加快使用Cython的日期时间之间的比较,当传递一个numpy数组的日期时间(或足以创建日期时间的细节).首先,我试着看看Cython如何加速整数之间的比较.

testArrayInt = np.load("testArray.npy")
Run Code Online (Sandbox Code Playgroud)

Python方法:

def processInt(array):
    compareSuccess = 0#number that is greater than
    testValue = 1#value to compare against
    for counter in range(testArrayInt.shape[0]):
        if testValue > testArrayInt[counter]:
            compareSuccess+=1
    print compareSuccess
Run Code Online (Sandbox Code Playgroud)

Cython方法:

def processInt(np.ndarray[np.int_t,ndim=1] array):
    cdef int rows = array.shape[0]
    cdef int counter = 0
    cdef int compareSuccess = 0
    for counter in range(rows):
        if testInt > array[counter]:
            compareSuccess = compareSuccess+1
    print compareSuccess
Run Code Online (Sandbox Code Playgroud)

与numpy行1000000的时间比较是:

Python: 0.204969 seconds
Cython: 0.000826 seconds
Speedup: 250 times approx.
Run Code Online (Sandbox Code Playgroud)

使用日期时间重复相同的练习:由于cython不接受一个日期时间数组,因此我拆分并向这两个方法发送一组年,月和日.

testArrayDateTime = np.load("testArrayDateTime.npy")
Run Code Online (Sandbox Code Playgroud)

Python代码:

def …
Run Code Online (Sandbox Code Playgroud)

python performance numpy cython

7
推荐指数
1
解决办法
2091
查看次数

如何预测R中Cox回归模型的生存时间?

我使用Cox回归建模了一个问题,现在想要预测一个人的估计生存时间.该模型具有生存时间所依赖的协变量列表.告诉我们如何计算P(T> t),它基本上是给定个体的生存函数(1-CDF).

我想预测一些略有不同的东西.鉴于已使用的协变量的值,我想预测该人居住的估计天数.据我所知,这类似于pdf的抽样.如何使用R中的生存包来完成此操作?以下是使用Cox回归模型的拟合概要.

Call:
coxph(formula = Surv(Time, death) ~ variable1 + variable2 + variable3 + 
variable4 + variable5 + variable6 + variable7 + variable8 + variable9, 
data = DataTest, method = "breslow")

n= 23756, number of events= 23756 

          coef exp(coef) se(coef)      z Pr(>|z|)    
variable1  0.02494   1.02526  0.02375  1.050  0.29354    
variable2 -0.20715   0.81290  0.02395 -8.650  < 2e-16 ***
variable3  0.12940   1.13814  0.02263  5.717 1.08e-08 ***
variable4  0.02469   1.02500  0.02289  1.079  0.28077    
variable5  0.13165   1.14070  0.02235  5.891 3.84e-09 ***
variable6 …
Run Code Online (Sandbox Code Playgroud)

r cox-regression survival-analysis

3
推荐指数
1
解决办法
8287
查看次数

二次规划 CPLEX

我正在尝试使用 CPLEX 的 Python API 实现一个简单的二次程序。随 CPLEX 提供的样本文件 qpex1 对此进行了讨论。qpex.lp 中提到的问题是

Maximize
 obj: x1 + 2 x2 + 3 x3 + [ - 33 x1 ^2 + 12 x1 * x2 - 22 x2 ^2 + 23 x2 * x3
 - 11 x3 ^2 ] / 2
Subject To
 c1: - x1 + x2 + x3 <= 20
 c2: x1 - 3 x2 + x3 <= 30
Bounds
0 <= x1 <= 40
End
Run Code Online (Sandbox Code Playgroud)

该问题在 Python 中实现时,会收到一个矩阵 qmat,该矩阵实现了目标函数的二次部分。矩阵是:

qmat = …
Run Code Online (Sandbox Code Playgroud)

python cplex quadratic-programming

2
推荐指数
1
解决办法
1537
查看次数