小编mat*_*nor的帖子

statsmodels 二维核回归

我有一个包含 3 列的数据框['X', 'Y', 'Z'],我想研究X和如何Y影响 的分布Z。为此,我想使用 nadaraya watson 的非参数回归器。在 statsmodels 中有一个名为 KernelReg 的类来实现它。

虽然我能够成功运行一维回归的代码(Zon Xand Zon Y),但我很难运行它来进行二维回归。

我的代码如下:XYZ是我的数据框

xv = XYZ['X'].values; yv = XYZ['Y'].values; zv = XYZ['Z'].values

from statsmodels.nonparametric.kernel_regression import KernelReg
ksrmv = KernelReg(endog=zv, exog= [xv, yv], var_type='c')
Run Code Online (Sandbox Code Playgroud)

我得到的错误是cannot reshape array of size 3171442 into shape (2,1)

xv.shape = yv.shape = zv.shape =(1585721,)
Run Code Online (Sandbox Code Playgroud)

我已经尝试了指定 exog 的不同替代方法,例如

XYZ.loc[:, ['X', 'Y']] or XYZ.loc[:, ['X', 'Y']].values or …
Run Code Online (Sandbox Code Playgroud)

python statsmodels

5
推荐指数
1
解决办法
3264
查看次数

Julia 中对称矩阵的快速求和

我想将A维度为ntimes 的矩阵中的所有元素相加n。该矩阵是对称的并且对角线上有 0。我发现最快的方法很简单 sum(A)。然而,这似乎很浪费,因为它没有利用我只需要计算矩阵的下三角形的事实。然而,sum(tril(A, -1))速度明显慢得多,甚至sum(A[i, j] for i = 1:n-1 for j = i+1:n)更慢。有没有更有效的方法来求和矩阵?

编辑:@AboAmmar 的解决方案表现良好。下面是要比较的代码(分别对对角线求和,如果对角线上只有零,则可以删除某些内容):

using BenchmarkTools
using LinearAlgebra

function sum_triu(A)
    m, n = size(A)
    @assert m == n
    s = zero(eltype(A))
    for j = 2:n
        @simd for i = 1:j-1
            s += @inbounds A[i,j]
        end
    end
    s *= 2
    for i = 1:n
        s += A[i, i]
    end
    return s
end

N = 1000
A = Symmetric(rand(0:9,N,N)) …
Run Code Online (Sandbox Code Playgroud)

julia

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

Python:re.sub仅替换16次

假设我有以下字符串

s = '\t 1\n\t 2\n\t 3\n\t 4\n\t 5\n\t 6\n\t 7\n\t 8\n\t 9\n\t 10\n\t 11\n\t 12\n\t 13\n\t 14\n\t 15\n\t 16\n\t 17\n\t 18\n\t'
Run Code Online (Sandbox Code Playgroud)

我想以字符串“item”开始每个(缩进)行。所以我写

s = re.sub('\t', '\t\item ', s, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

    \item  1
    \item  2
    \item  3
    \item  4
    \item  5
    \item  6
    \item  7
    \item  8
    \item  9
    \item  10
    \item  11
    \item  12
    \item  13
    \item  14
    \item  15
    \item  16
     17
     18
Run Code Online (Sandbox Code Playgroud)

为什么该操作只执行前16次?

python regex string python-3.x

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

标签 统计

python ×2

julia ×1

python-3.x ×1

regex ×1

statsmodels ×1

string ×1