统计和大数据

对统计,机器学习,数据分析,数据挖掘和数据可视化感兴趣的人的问答



2
log(p(x,y))如何规范逐点相互信息?
我正在尝试理解逐点相互信息的规范化形式。 n p m i =p m i (x ,y)升Ò 克(p (x ,y))ñp米一世=p米一世(X,ÿ)升ØG(p(X,ÿ))npmi = \frac{pmi(x,y)}{log(p(x,y))} 为什么对数联合概率将逐点相互信息归一化为[-1,1]之间? 逐点相互信息是: pmi=log(p(x,y)p(x)p(y))pmi=log(p(x,y)p(x)p(y))pmi = log(\frac{p(x,y)}{p(x)p(y)}) p(x,y)的边界是[0,1],所以log(p(x,y))的边界是(,0]。看来log(p(x,y))应该以某种方式平衡变化分子,但是我不知道怎么做,这也让我想起了熵 h=−log(p(x))h=−log(p(x))h=-log(p(x)),但我仍然不了解确切的关系。


2
均值vs中位数
我有一个数据集,其中包含对紧急服务的所有呼叫以及急救部门的响应时间。他们承认响应时间存在一些错误,因为在某些情况下他们没有开始记录(因此值为0)或没有停止时钟(因此值可能非常高)。 我想找出中心趋势,我想知道使用中位数或修整后的平均值来消除异常值是否更好?

6
如何准备/构造异常检测功能(网络安全数据)
我的目标是使用群集/异常检测(用于入侵检测)分析网络日志(例如Apache,syslog,Active Directory安全审核等)。 从日志中,我有很多文本字段,例如IP地址,用户名,主机名,目标端口,源端口等等(总共15-20个字段)。我不知道日志中是否存在一些攻击,并且想突出显示最可疑的事件(异常值)。 通常,异常检测将概率/频率较低的点标记为异常。但是,一半的日志记录包含字段的唯一组合。因此,数据集中的一半记录将具有最低的频率。 如果我使用基于聚类的异常检测(例如,找到聚类,然后选择远离所有聚类中心的点),则需要找到不同点之间的距离。由于我有15-20个字段,因此它将是一个多维空间,其中维是用户名,端口,IP地址等。但是,马氏距离只能应用于正态分布的要素。这意味着无法找到数据点之间的距离并构造聚类... 例如,假设我在20条记录的数据集中有用户Alice,Bob,Carol,Dave,Eve和Frank。它们在数据库中可能具有以下发生次数:2,5,2,5,1,5。如果我只是将用户名映射到数字,例如 Alice --> 1 Bob --> 2 Carol --> 3 Dave --> 4 Eve --> 5 Frank --> 6 然后,我的用户名概率分布将如下所示: p(1)= 0.1,p(2)= 0.25,p(3)= 0.1,p(4)= 0.25,p(5)= 0.05,p(6)= 0.25 当然,这不是正态分布,也没有太大意义,因为我可以以任何不同的方式映射用户名... 因此,用户名,操作,端口号,IP地址等字段到数字的简单映射不会带来任何影响。 因此,我想问一下,通常如何处理文本字段/构造特征以使无监督的异常/异常检测成为可能? 编辑:数据结构。 我在数据库表中大约有100列,其中包含来自Active Directory事件的信息。从这100列中,我选择最重要的(从我的角度来看):SubjectUser,TargetUser,SourceIPaddress,SourceHostName,SourcePort,计算机,DestinationIPaddress,DestinationHostName,DestinationPort,操作,状态,FilePath,EventID,WeekDay,DayTime。 事件是Active Directory事件,其中EventID定义了记录的内容(例如,创建Kerberos票证,用户登录,用户注销等)。 数据样本如下所示: + ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -+ | ID …

1
为局部离群因子(LOF)检测分析选择k值
我有一组三维数据,并且尝试使用局部离群值因子分析来识别最独特或最奇怪的值。如何确定LOF分析中使用的k值?我知道k值决定了什么,因此使用不同的k会看到略有不同的结果,对此我并不感到惊讶,但是我不确定我的数据集是否存在应该将我推向另一个值的特征。 。谢谢!

1
各种R二次编程求解器之间有什么区别?
我正在寻找一个软件包来帮助我解决一些二次优化问题,并且我发现至少有六个不同的软件包。根据此页面: QP(二次编程,90C20):cplexAPI,kernlab,limSolve,LowRankQP,quadprog,Rcplex,Rmosek 其中一些(Rmosek和cplexAPI)依赖于其他专有程序包,因此我对这些程序不感兴趣。 其他QP软件包之间的显着区别是什么?
9 r  optimization 

1
蒙特卡洛==是否应用随机过程?
我从来没有参加过正式的统计学课程,但是由于我的研究领域,我经常遇到一些应用了几种统计学概念的文章。 通常,我会看到对适用于给定情况的蒙特卡洛过程的描述,对于我可以从10次中收集到9次的结果,可以归结为简单的随机人口总体及其后续研究。 我的问题:在统计世界中,蒙特卡洛(Monte Carlo)是一种代码字,适用于涉及点/种群/等的随机生成的任何算法吗?

3
建模计数数据,其中偏移变量为0的某些观察结果
我正在努力帮助一位同事的学生。学生在实验设置中观察并计算了鸟类行为(叫声次数)。虽然无法确定每个实验中可观察到的特定鸟类的召唤次数,但可以计算促成记录的召唤次数的鸟类数量。因此,我最初的建议是在Poisson GLM模型中将鸟的数量作为偏移项包括在内,因此,我们将拟合每只鸟的预期通话数量。 问题在于,在许多观察场合中,没有观察到鸟(因此也没有鸣叫)。该软件(在这种情况下为R)抱怨是因为日志(0 )= − inf日志⁡(0)=-信息\log(0) = -\inf(R抱怨y包含-Inf的数据,但是纯粹的结果offset(log(nbirds))是-Inf)。 我实际上怀疑我们需要一个障碍模型(或类似模型),在该模型中,我们有一个单独的二项式模型用于“观察到的呼叫”?(或没有)和截断计数模型(在有电话的情况下,每只鸟的电话数),其中仅将偏移项包括在模型的计数部分中。 在R中使用pscl包尝试了此操作,但是我仍然遇到相同的错误: mod1 <- hurdle(NumberCallsCOPO ~ Condition * MoonVis + offset(log(NumberCOPO)) | 1, data = Data, dist = "poisson") 因为即使我认为这不会影响适合这些观察值的模型,也要检查相同的R代码(glm.fit供内部使用hurdle()以适合计数模型的一部分)-Inf。(这是一个正确的假设吗?) 我可以通过将一个较小的数字添加到NumberCOPO(例如0.0001)中来使模型适合,但这充其量只是一种捏造。 在实践中添加这种小的连续性校正是否可以?如果不是,在泊松模型中偏移变量可以取值为0的Poisson模型中处理数据时,我们还应该考虑其他哪些方法?我遇到的所有示例都是针对offset变量不可能为0的情况。

1
从特定分位数计算总和的分位数
假设 NNN 独立随机变量 X1,...,XNX1,...,XNX_1, ..., X_N 在特定水平上的分位数 αα\alpha 通过数据估算可知: α=P(X1&lt;q1)α=P(X1&lt;q1)\alpha = P(X_1 < q_1),..., α=P(XN&lt;qN)α=P(XN&lt;qN)\alpha = P(X_N < q_N)。现在让我们定义随机变量ZZZ 作为总和 Z=∑Ni=1XiZ=∑i=1NXiZ = \sum_{i=1}^N X_i。有没有一种方法可以计算水平上总和的分位数的值αα\alpha, 那是, qzqzq_z 在 α=P(Z&lt;qZ)α=P(Z&lt;qZ)\alpha = P(Z < q_Z)? 我认为在某些情况下,例如 XiXiX_i 遵循高斯分布 ∀i∀i\forall i 这很简单,但对于这种情况的分布情况,我不确定 XiXiX_i未知。有任何想法吗?
9 quantiles 

1
在物流回归中使用“预测”一词有多公平?
我的理解是,即使回归也不能给出因果关系。它只能给出y变量和x变量以及可能的方向之间的关联。我对么?即使在大多数课程教科书和在线的各种课程页面上,我也经常发现类似于“ x预测y”的短语。您通常将回归变量称为预测变量,将y称为响应。 将其用于线性回归有多公平? 逻辑回归如何?(如果我确实有一个阈值t,可以与之比较概率?)

3
Mathematica的随机数生成器是否偏离二项式概率?
因此,假设您掷硬币10次,并将其称为1个“事件”。如果您运行这些事件中的1,000,000,那么正面在0.4到0.6之间的事件所占的比例是多少?二项式概率表明这大约为0.65,但是我的Mathematica代码告诉我大约为0.24 这是我的语法: In[2]:= X:= RandomInteger[]; In[3]:= experiment[n_]:= Apply[Plus, Table[X, {n}]]/n; In[4]:= trialheadcount[n_]:= .4 &lt; Apply[Plus, Table[X, {n}]]/n &lt; .6 In[5]:= sample=Table[trialheadcount[10], {1000000}] In[6]:= Count[sample2,True]; Out[6]:= 245682 灾难在哪里?


3
如何重新排列2D数据以获得给定的相关性?
我有以下带有两个连续变量的简单数据集;即: d = data.frame(x=runif(100,0,100),y = runif(100,0,100)) plot(d$x,d$y) abline(lm(y~x,d), col="red") cor(d$x,d$y) # = 0.2135273 我需要重新排列数据,以使变量之间的相关性达到〜0.6。我需要使两个变量的均值和其他描述性统计信息(sd,min,max等)保持恒定。 我知道可以与给定数据进行几乎任何关联,即: d2 = with(d,data.frame(x=sort(x),y=sort(y))) plot(d2$x,d2$y) abline(lm(y~x,d2), col="red") cor(d2$x,d2$y) # i.e. 0.9965585 如果我尝试将sample函数用于此任务: cor.results = c() for(i in 1:1000){ set.seed(i) d3 = with(d,data.frame(x=sample(x),y=sample(y))) cor.results = c(cor.results,cor(d3$x,d3$y)) } 我得到了很多相关性: &gt; summary(cor.results) Min. 1st Qu. Median Mean 3rd Qu. …
9 r  correlation 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.