小编pik*_*eon的帖子

估计python中均匀随机变量之和的概率密度

我有两个随机变量X和Y,它们均匀分布在单纯形式上:单

我想评估他们总和的密度:

在此输入图像描述

在评估上述积分后,我的最终目标是计算以下积分: 在此输入图像描述

为了计算第一个积分,我在单形中生成均匀分布的点,然后检查它们是否属于上述积分中的所需区域,并取得点的分数来评估上述密度.

一旦我计算出上述密度,我就按照类似的程序计算上面的对数积分来计算它的值.然而,这是非常低效的,并花了很多时间这样3-4个小时.任何人都可以建议我在Python中解决这个问题的有效方法吗?我正在使用Numpy包.

这是代码

import numpy as np
import math
import random
import numpy.random as nprnd
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
#This function checks if the point x lies the simplex and the negative simplex shifted by z
def InreqSumSimplex(x,z):
    dim=len(x)
    testShiftSimpl= all(z[i]-1 <= x[i] <= z[i] for i in range(0,dim)) and (sum(x) >= sum(z)-1)
    return int(testShiftSimpl)

def InreqDiffSimplex(x,z):
    dim=len(x)
    testShiftSimpl= all(z[i] <= x[i] <= z[i]+1 for i in range(0,dim)) and (sum(x) <= sum(z)+1)
    return …
Run Code Online (Sandbox Code Playgroud)

python statistics numpy distribution montecarlo

8
推荐指数
1
解决办法
1117
查看次数

使用VBA更改数据透视表过滤器

我有一个数据透视表,其中包含"CoB Date"字段,如图所示.
我正在尝试创建一个宏,根据用户输入自动更改日期.
我写了以下宏代码.但它显示错误:

无法获取数据透视表类的PivotFields属性

谁能帮我这个?
注意:假设日期格式不是问题

码:

Sub My_macro()
    Dim num as String
    num = InputBox(Prompt:="Date", Title:="ENTER DATE")
    Sheets("Sheet1").PivotTables("PivotTable1") _
        .PivotFields("CoB Date").CurrentPage = num
End Sub
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

excel vba excel-vba excel-addins

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

在python中使用乳胶进行字符串格式化时,字段名称中出现意外的“{”

我想在乳胶方程中插入文本,这实际上是绘图的标题。换句话说,以下是我使用的标题的python代码:

import matplotlib.pyplot as plt

x=8
plt.title(r"Actual time-series is $Y_t=\alpha^\top X_t + \beta^\top X_{t-{0}}$".format(x))

plt.show()
Run Code Online (Sandbox Code Playgroud)

以下是我在实现上述代码时收到的错误:

 Traceback (most recent call last):
  File "switch_systems.py", line 419, in <module>
     plt.title(r"Actual time-series is $Y_t=\alpha^\top X_t + \beta^\top  X_{t-{0}}$".format(x)
   ValueError: unexpected '{' in field name
Run Code Online (Sandbox Code Playgroud)

我希望我的标题看起来像Actual time-seris is $Y_t=\alpha^\top X_t + \beta^\top X_{t-8}$,就像在 Latex 中的文本一样,如果它是用 Latex 编写的,它看起来会是什么样子。有没有技巧可以做到这一点?

python matplotlib

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

从 kdb 中的字符串中提取数字

我对 kdb+q 很陌生。我遇到过从字符串中提取数字的问题。

有什么建议?

例子:

"AZXER_1234_MARKET" should output 1234 //Assume that there is only one number in the 
Run Code Online (Sandbox Code Playgroud)

细绳

kdb q-lang

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

上一个工作日的Excel公式

我有一个宏,其中询问用户的日期,它打开与日期对应的文件并执行一些操作.但是,我没有手动输入日期,而是尝试编写一个excel函数来计算上一个工作日.这是因为我通常输入的日期对应于上一个工作日.

例如,如果今天是星期一,我想要上周的星期五日期 - 并且在星期五的其余工作日,它只是前一天.周末没有相应的文件.

我怎样才能做到这一点 ?

excel function

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

在kdb + q中添加列的功能

我有aq表,其中没有.非键控列是可变的.此外,这些列名称在其名称中包含一个整数.我想在这些列上执行某些功能而不实际使用它们的实际名称

我怎样才能做到这一点?

例如:

 table:   

 a |  col10  col20 col30 

 1 |    2      3     4
 2 |    5      7     8

 // Assume that I have numbers 10, 20 ,30 obtained from column names

    I want something like **update NewCol:10*col10+20*col20+30*col30 from table**

     except that no.of columns is not fixed so are their inlcluded numbers
Run Code Online (Sandbox Code Playgroud)

kdb q-lang

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

在 matlab 中计算积分

我想计算以下积分:

exp(-y^2/(2*a^2))* cosh(y)*log(cosh(y))
Run Code Online (Sandbox Code Playgroud)

y=0y = Inf

我需要为值向量做这个积分a吗?我怎样才能做到这一点?

matlab

0
推荐指数
1
解决办法
97
查看次数

索引错误:索引 3 超出了大小为 3 的轴 1 的范围

我正在运行以下代码,其中函数weighted_values返回具有指定概率的随机值序列。我正在使用这个答案中的这个函数生成具有权重的离散随机变量

以下是我的代码:

def weighted_values(values, probabilities, size):
    bins = np.add.accumulate(probabilities)
    return np.array(values[np.digitize(random_sample(size), bins)])

def weak_softmax(a):
    b=np.exp(a)
    return b/(1+sum(b))


 elements=np.array([1,2,3])
 prob=np.array([0.2,0.5,0.3])


 system_index=0;
 T=10;M=2;

for t in np.arange(T):

     prob=weak_softmax(np.random.uniform(0,1,M+1));

     system_index=weighted_values(np.arange(M+1),prob,1)[0]

print(system_index)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,有时会收到此错误

 Traceback (most recent call last):
 File "gradient_checking.py", line 75, in <module>
    system_index=weighted_values(np.arange(M+1),prob,1)[0]
 File "gradient_checking.py", line 57, in weighted_values
    return np.array(values[np.digitize(random_sample(size), bins)])
 IndexError: index 3 is out of bounds for axis 1 with size 3
Run Code Online (Sandbox Code Playgroud)

谁能建议我做错了什么以及如何修改它?

python numpy

0
推荐指数
1
解决办法
4万
查看次数