python - Python随机抽取5000次
问题描述
我想随机绘制 N = 30 个斜率和截距对,并进行替换,并执行 F = 5,000 次。对于每次绘制,我想计算回归线的斜率和截距,然后绘制斜率和截距的直方图。这是我到目前为止的代码。
F = 10000
N = 30
X = sigma*(np.random.randn(F)/F)
Y = beta*X + alpha + sigma*(np.random.randn(F))
Xbar = np.mean(X)
Ybar = np.mean(Y)
numer2 = 0
denom2 = 0
for i in range(F):
for j in range(N):
numer2 += (X[j]-Xbar)*(Y[j]-Ybar)
denom2 += (X[j]-Xbar)**2
slope = numer2/denom2
intercept = Ybar - slope*Xbar
plt.figure(1)
plt.hist(slope, bins=50)
plt.hist(intercept, bins=50)
plt.grid()
plt.show()
我想得到 30 个斜率和截距对,5000 次。我认为双 for 循环会做到这一点。不幸的是,我只能得到一个值。我怎样才能解决这个问题?
解决方案
每次slope = numer2/denom2
你覆盖之前的值slope
。如果要保存所有值,则需要将它们存储到循环外部定义的集合中,例如列表:
slopes = []
intercepts = []
for i in range(F):
for j in range(N):
numer2 += (X[j]-Xbar)*(Y[j]-Ybar)
denom2 += (X[j]-Xbar)**2
slopes = numer2/denom2
intercept = Ybar - slope*Xbar
slopes.append(slope)
intercepts.append(intercept)
...
plt.hist(slopes, bins=50)
plt.hist(intercepts, bins=50)
推荐阅读
- postgresql - 将自动增量列添加到按日期排序的现有表中
- java - 比较时出现“Illegal generic type for instanceof”错误
- c++ - 用于在 C plus 中使用函数名称和行号调试信息的宏 plus
- maven - 构建 Spark 时出现版本错误
- snort - IDS 签名 - 理解内容
- apache-kafka - Schema Registry VS 不同的主题处理
- python - 从多个 html 文件(相同类型的数据)中提取并将结果存储在单个数据框中
- javascript - 如何使用javascript检查元素是否有焦点?
- javascript - 解决所有承诺的问题
- python - 在给定python约束的情况下最大化方程的值