问题标签 [multinomial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4832 浏览

r - Multinomial Naive Bayes Classifier

I have been looking for a multinomial naive Bayes classifier on CRAN, and so far all I can come up with is the binomial implementation in package e1071. Does anyone know of a package that has a multinomial Bayes classifier?

0 投票
1 回答
11022 浏览

r - 如何在 R 中使用 multinom() 进行预测

我正在尝试使用特定值计算预测概率,但 R 显示以下错误:

这就是我想要做的:x1 是一个具有 12 个级别的因子,而 x2 也是一个具有 3 个级别的因子。

有什么帮助吗?

0 投票
1 回答
3223 浏览

r - gbm 多项分布

我第一次尝试在我的数据上使用 gbm(实际上是第一次使用任何类型的回归树),它由 14 个连续因变量和一个作为响应变量的因子组成,具有 13 个水平。我是通过 Elith 等人的一个非常好的描述来到 gbm 的,但是他使用了对基本 gbm 包的修改,该包无法处理多项分布。gbm 的帮助声称它可以处理这个问题:

“分布:要么是一个字符串,指定要使用的分布的名称,要么是一个带有指定分布的组件名称的列表以及所需的任何其他参数。如果未指定,gbm 将尝试猜测:如果响应只有 2 个唯一值,则假定为伯努利;否则,如果响应是因子,则假定为多项式;否则,如果响应具有类“Surv”,则假定为 coxph;否则,假定为高斯。当前可用的选项是“高斯”(平方误差)、“laplace”(绝对损失)、“tdist”(t-分布损失)、“bernoulli”(0-1 结果的逻辑回归)、“huberized”(0-1 结果的huberized铰链损失)、“多项式”(超过 2 个类别时的分类),“adaboost”(0-1 结果的 AdaBoost 指数损失)、“泊松”(计数结果)、“coxph”(右删失观察)、“分位数”或“成对”(使用 Lambda Mart 算法的排名度量)。

尽管如此,无论我指定“多项式”还是“让它猜测”,它都不起作用。有人知道我在做什么错吗?或者我是否完全误解了某些东西——我的数据的多项式分布是否意味着我的误差损失函数也是多项式分布?如果我选择“高斯”,它会运行,但我想在这种情况下会计算出完全不同的东西?我会很感激任何帮助!艾格尼丝

0 投票
1 回答
3680 浏览

r - 在 R 中运行嵌套的 logit 回归

我想在 R 中运行嵌套逻辑回归,但我在网上找到的示例并没有太大帮助。我阅读了这个网站上的一个例子(关于如何在 R 中运行嵌套逻辑回归的逐步过程),这与我的问题相似,但我发现它最终似乎没有解决(提问者报告了错误,我没有看不到更多答案)。

所以我有 9 个预测变量(连续分数)和 1 个分类因变量(DV)。DV被称为“效果”,它可以分为2大类:“负(0)”和“正(1)”。我知道如何运行一个简单的二元 logit 回归(使用一般分组方式,即负 (0) 和正 (1)),但这还不够。“积极”可以进一步分为两种类型:“身体(1)”和“精神(2)”。所以我想运行一个嵌套模型,它包括这 3 个类别(负(0)、物理(1)和心理(2)),并反映“物理”和“心理”嵌套在“正”中的性质。也许 R 可以将这两个模型(一般与详细)一起比较?于是我新建了两个栏目,一个叫“效果通用”,其中个人得分为“负(0)”和“正(1)”;另一个称为“效果详细”,它包含 3 个值 - 负 (0)、物理 (1) 和心理 (2)。我只使用“效果一般”运行了一个简单的二进制 logit 回归,但我不知道如何为“效果详细”运行嵌套 logit 模型。

从我搜索的示例和其他材料来看,R 包“mlogit”似乎是正确的,但我不知道如何使它适用于我的数据。我不太了解 R-help 中的示例,以及我之前提到的本网站示例中的这一部分 (...shape='long', alt.var='town.list', nests=list(town .list)...) 让我很困惑:我可以看到我的数据形状应该是“宽的”,但我不知道“alt.var”和“nests”是什么......

我还查看了 mlogit 手册的第 19 页,了解嵌套 logit 模型调用的示例。但我仍然无法决定我需要什么选项。(http://cran.r-project.org/web/packages/mlogit/mlogit.pdf

有人可以为我提供有关如何操作的详细步骤和说明吗?我相信这个例子(如果得到很好的讨论和解决)也会对我和其他人有很大帮助!

谢谢你的帮助!!!

0 投票
1 回答
1581 浏览

r - 为多项式回归重塑数据

我目前正在学习多项式 logit 估计器,我想用它来估计包中的R模型mlogit。在广泛阅读该主题之后,很明显该过程中的一个重要步骤是使用该mlogit.data()函数重塑数据。我的数据框包含以下信息:

  1. satisfaction:这是一个从 1(非常不满意)到 5(非常满意)的分类变量。
  2. education: 个人受教育年限
  3. country: 这是个人的原籍国
  4. average_income: 这个国家的平均收入

这是数据框的可视化表示:

mlogit()功能似乎不喜欢这种形式。我试图用satisfaction作为因变量和education自变量来估计模型。

我怎样才能重塑它以使其发挥作用?

0 投票
1 回答
76 浏览

classification - 计算 B 和 |V| 在朴素贝叶斯文本分类中

我找到了一个关于多项式朴素贝叶斯分类器的链接

多项朴素贝叶斯链接

我们如何计算B'or |V|

该页面说它是词汇表中的术语数。在它的例子中,我们怎么能6得到B?它是所有术语的计数吗?

“中国”、“北京”、“上海”、“meacao”、“东京”、“日本”

还有一个问题,如果新词出现在测试文档中怎么办?例如,在 doc 6 中出现了“bangkok”或任何从未出现过的新词。如何计算新词的概率?

0 投票
0 回答
1469 浏览

python - 生成多项式随机变量的算法

我想从多项分布中生成随机数。假设您有 n 和 p_1,...p_m 使得 p_1, ...,p_m 的总和等于 1。我知道 n 和 p_1,...,p_m 值。理想情况下,我想用 Python 编写代码;但是一个通用的算法就足够了。显然,我的代码的输出将是 m 个随机数 x_1,...,x_m 使得 x_1,..., x_m 的总和为 n。

0 投票
2 回答
5834 浏览

r - R中多项式的拟合值:参考类别的系数?

我正在使用 nnet 包中的函数 multinom 来运行多项逻辑回归。

据我了解,在多项逻辑回归中,系数是响应概率与参考响应概率之比的对数变化(即 ln(P( i )/P( r ))= B 1 +B 2 *X... 其中 i 是一个响应类别,r 是参考类别,X 是某个预测变量)。

但是,fitted(multinom(...)) 会为每个类别生成估计值,甚至是参考类别r

编辑示例:

为了计算第 1 行的响应b和响应a之间的预测概率比,我们计算exp(0.1756835+0.55915795*(-0.3271010))=0.9928084。我看到这对应于第 1 行的拟合 P(b)/P(a)(0.2110692/0.2125982=0.9928084)。

参考类别的拟合概率是否以代数方式计算(例如,0.2110692/exp(0.1756835+0.55915795*(-0.3271010)))?

有没有办法获得参考类别的预测概率方程?

0 投票
0 回答
230 浏览

r - R mlogit 样本分割

我正在使用 mlogit 分析来自鞋子购买习惯调查的陈述偏好数据。我目前正在运行以下代码:

这是产生这些结果,我很满意:

我现在想使用我之前掌握的有关受访者的人口统计数据将样本分为三个健身类别(低/中/高)。我试图通过创建新的细分品牌变量和新的虚拟变量来做到这一点,如下表所示:

在此处输入图像描述

但是,如果我尝试运行旨在帮助调查品牌价值等因素如何随受访者适应度变化的最简单模型,则会出现“计算奇异”错误:

有人对我哪里出错有任何想法吗?非常感谢。

0 投票
1 回答
2296 浏览

r - ChoiceModelR - 分层贝叶斯多项 Logit 模型

我希望你们中的一些人对ChoiceModelRSermas 和 Colias 的 R 包有一些经验,以估计分层贝叶斯多项式 Logit 模型。实际上,我在 R 和分层贝叶斯方面都是新手。但是,我尝试使用帮助文件中 Sermas 和 Colias 提供的脚本来进行一些估算。我有一个与他们使用的结构相同的数据集(ID、选择集、替代、自变量和选择变量)。我有四个自变量,它们都是二进制编码的分类变量,没有一个受到限制。我有八个选项集,每个选项集中三个选项以及一个无选项选项作为第四选项。我尝试了以下脚本:

并收到以下错误消息:

另外:有 50 个或更多警告(用于warnings()查看前 50 个)。提到的警告如下:

  1. In max(temp[temp[, 2] == j, 3]) : no non-missing arguments to max; returning -Inf
  2. In max(temp[temp[, 2] == j, 3]) : no non-missing arguments to max; returning -Inf

实际上,我不知道出了什么问题,因为我使用了相同的数据结构,即使我有更多的自变量、更多的选择集和选择集中的更多备选方案。如果有人能在黑暗中照亮我会很棒