我要生成一个过程,每一步有一个实现了泊松随机变量的,这种认识应该被保存,那么它应该是实现下一个泊松随机变量并将其添加到之前的所有变现的总和.此外,应该有可能在每个步骤中停止此过程.希望对你们有意义......任何想法都表示赞赏!
如何在绘图中添加泊松回归线?我尝试了以下,但abline函数不起作用.这是因为abline()使用截距和斜率,而泊松回归线使用对数链接.
x = rpois(12, 5)
plot(x, axes = F)
axis(1,at=1:length(month.name), labels = month.name)
axis(side = 2)
y = c(1:12)
poislm = glm(x~y, family=poisson)
abline(poislm)
Run Code Online (Sandbox Code Playgroud) 想要预测一个值,但这显然不是解决方案.我正在做一个多项选择测试和0.304 ...不是答案.如何正确使用predict()?
library(glm2)
data(crabs)
fit= glm(Satellites~Width,data=crabs, family="poisson")
plot(Satellites~Width,data=crabs)
abline(fit)
predict(fit, newdata=data.frame(Width=c(22)))
1
0.3042347
Run Code Online (Sandbox Code Playgroud) 我有一些图像,我需要添加增量的泊松噪声,以便更彻底地分析它们.我知道你可以在MATLAB中做到这一点,但你如何在Python中做到这一点?到目前为止,搜索没有任何结果.
数据:
df <- structure(list(x = c(9.5638945103927, 13.7767187698566, 6.0019477258207,
10.1897072092089, 15.4019854273531, 10.9746646056535, 12.9429073949468,
20.7513493525379, 18.5764146937149, 2.91302077116471, 13.6523222711501,
10.0920467755108), y = c(83.949498880077, 18.066881289085, 71.3052196358606,
39.8975644317452, 57.2933166677927, 87.8484256883889, 92.6818329896141,
49.8297961197214, 56.3650103496898, 14.7950650020996, 37.9271392096266,
50.4357237591891), z = c("a", "c", "e", "f", "b", "a", "b", "a",
"b", "a", "c", "d")), .Names = c("x", "y", "z"), row.names = c(NA,
-12L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
我的模特:
mod <- glm(y ~ x + I(x^2) + z, family=quasipoisson, data = df)
summary(mod)
Run Code Online (Sandbox Code Playgroud)
我想绘制这样的事情:
ggplot(df, aes(x=x,y=y)) +
geom_point() +
stat_smooth(method="lm",se=FALSE,
formula=y~x+I(x^2),fill="transparent", …Run Code Online (Sandbox Code Playgroud) 是否有针对Poissons的E-Test的Python实现?对于二项式,scipy将Fisher's Exact测试作为stats.fisher_exact,对于Gaussians scipy.stats将Welch的T-test作为ttest_ind.我似乎找不到任何Python实现来比较两个Poissons.
假设以下情况:
我有一个变量Y的计数数据,我假设它是泊松分布的。我也有相同时间段内变量X的数据,每个观察值代表一个特定事件。我假设Y的值来自两个不同的影响,所以我将每个观察值Y_i分为两个由Poisson分布的Y_i1和Y_i2,但是我仍然只对总Y_i的观察值。我还假定事件(由X表示)对Y_i1具有长期影响,并且我具有参数lambda_i2的估计量。
所以我的回归公式是
fml=Y_i ~ b_1*X_i+....+b_n*X_(i-n+1) + offset(lambda_i2) -1n> = 24。
这意味着X的最后24个(或由于长期影响而更多)的值以累加方式影响Y_i1的值,而我没有拦截(b_0 = 0)。
我制作了一个矩阵m,其行表示Y_i,它的24个(或更多个)回归变量用于Y_i的每次观察以及相应的lambda_i2估计。
现在,我使用
glm(fml, family=poisson(link="identity"), data=m)
并尝试了不同的n值(= 24、48、36,...)。
总是,一些系数收到负值,这在解释上没有意义。(用X表示的事件只能对Y的值产生正或无影响。)
这导致了我的问题:
如何b_i >=0在模型中使用约束?
在我以前的研究中,我找到了函数glmc(),但是我不确定如何在此处包括约束。
作为替代方案,我还考虑了以贝叶斯方式分析此模型,但是我还没有找到Poisson分布的贝叶斯形式的glm(),因此我可以自行指定b_i的先验值。(然后,我可以在前面包括阳性。)
你有什么想法?
这是我的数据和代码的一部分:
y=c(279,623, 1025, 1701, 1862, 2544, 2308, 2231, 2234, 2550, 2698, 2805, 3510, 3032, 2746, 2074, 1062, 513, 226, 116, 87, 79, 116, 335, 594, 1081, 1425, 1775, 2056, 2387, 2337, 2354, 2665, 2406, 2433, 2550, 2820, 3655, 4566, 2330, 1267, 531, 280, 148, 92, 89, 141, 458, 852, …Run Code Online (Sandbox Code Playgroud) 我一直在尝试找到一种方法来使我的某些列(包含用户 点击数据)适合python中的泊松分布。这些列(例如,click_website_1,click_website_2)的值可能在1到数千之间。我正在尝试这样做,因为一些资源建议这样做:
我们建议不应通过对数转换来对计数数据进行分析,而应使用基于泊松和负二项式分布的模型。
我在scipy和中找到了一些方法numpy,但是这些方法似乎会生成一些具有泊松分布的随机数。但是,我感兴趣的是使我自己的数据适合于泊松分布。有库建议在Python中执行此操作吗?
我正在开发一个网络模拟器,其中数据包到达和传输尝试的事件遵循泊松分布。我对 Knuth 算法进行了改编:
\n\npublic class Poisson {\n\n private double \xce\xbb;\n private Random rand;\n\n /** Creates a variable with a given mean. */\n public Poisson(double \xce\xbb) {\n this.\xce\xbb = \xce\xbb;\n rand = new Random();\n }\n\n public int next() {\n double L = Math.exp(-\xce\xbb);\n double p = 1.0;\n int k = 0;\n\n do {\n k++;\n p *= rand.nextDouble();\n } while (p > L);\n\n return k - 1;\n\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我的规范规定节点使用泊松过程随机重新安排楼层。平均到达间隔时间呈指数分布,平均值 Ts = 2.5ms。我使用 \xce\xbb = 2.5 是否正确?
\n\n当我想举办新到货活动时,我会这样做:
\n\nEvent …Run Code Online (Sandbox Code Playgroud) 我有一个包含 1096 个数字的向量,这是一个测量站 3 年内测量的 NOx 的日平均浓度。您可以观察图像中的分布类型:

我使用这些命令来做直方图:
NOxV<-scan("NOx_Vt15-17.txt")
hist.NOxVt<-hist(NOxV, plot = FALSE, breaks = 24)
plot(hist.NOxVt, xlab = "[NOx]", ylab = "Frequenze assolute", main = "Istogramma freq. ass. NOx 15-17 Viterbo")
points(hist.NOxVt$mids, hist.NOxVt$counts, col= "red")
Run Code Online (Sandbox Code Playgroud)
我的教授建议我用泊松分布拟合直方图 - 注意转换:离散 -> 连续(我不知道这意味着什么) - 或“对数正态”分布。
我尝试使用她在课程中给我们的一些命令行来进行泊松拟合,但是在执行以下最后一行代码后,R 给了我一个错误:
my_poisson = function(params, x){
exp(-params)*params^x/factorial(x)
}
y<-hist.NOxVt$counts/1096;
x<-hist.NOxVt$mids;
z <- nls( y ~ exp(-a)*a^x/factorial(x), start=list(a=1) )
Run Code Online (Sandbox Code Playgroud)
numericDeriv(form[[3L]], names(ind), env) 中的错误:评估模型时产生的缺失值或无穷大此外:有 50 个或更多警告(使用警告()查看前 50 个)”
这个问题解决不了(在网上搜索类似问题)我决定用对数正态拟合分布,但我不知道怎么做,因为教授没有给我们解释,我仍然没有足够的 R 经验来自己解决。
我将不胜感激有关如何进行对数正态拟合和/或泊松拟合的任何建议或示例。
poisson ×10
r ×6
python ×3
glm ×2
statistics ×2
data-fitting ×1
dataframe ×1
image ×1
java ×1
networking ×1
noise ×1
plot ×1
regression ×1
scikit-learn ×1
scipy ×1
simulation ×1