使用Fisher方法matlab组合P值?

2024-01-08

完成 CDF 后,我收到了以下值P(其中的样本)

[0.43   0.12    0.0021  0.05    0.017   0.001   0.025   0.038 0.35  0.29]

我想结合我的P值的帮助下Fisher https://en.wikipedia.org/wiki/Fisher%27s_method方法并通过以下方式获取输出:

选择前3个P值并将它们组合起来并从中得到结果(使用渔夫方法)。例如,我的第一个联合收割机P值将是:0.43 ,0.12 0.0021和我的下一个P组合值将是0.12, 0.0021 ,0.05等等。

谁能告诉我如何使用 MATLAB 应用 Fisher 方法来解决这个问题?
我无法使用 MATLAB 找到任何解决方案。

Fisher 方法使用以下公式将每次检验的极值概率(通常称为“p 值”)组合成一个检验统计量 (X2):

文件 https://i.stack.imgur.com/DUABW.png讲述了费舍尔方法,我在圆圈中标记了可用于通过使用费舍尔方法组合 p 值的公式,请看一下:)

其中 pi 是第 i 个假设检验的 p 值。当 p 值趋于较小时,检验统计量 X2 将会很大,这表明原假设并不适用于每个检验。


我认为 MATLAB 中没有内置 Fisher 组合概率检验,但实现它应该不难:

P = [0.43 0.12 0.0021 0.05 0.017 0.001 0.025 0.038 0.35 0.29];
k = length(P);

首先,我们将创建一个辅助矩阵,根据需要对 P 中的元素求和:

% the following matrix is used to sun each n elements in a row:
n = 3;
summer = diag(ones(k,1));
for d = 1:n-1
    summer = summer + diag(ones(k-d,1),-d);
end

如果我们跑P*summer,我们得到:

ans =
  Columns 1 through 6
       0.5521       0.1721       0.0691        0.068        0.043        0.064
  Columns 7 through 10
        0.413        0.678         0.64         0.29

接下来,我们首先计算所有的 ln 来计算统计量P然后将它们相加为 3(并乘以-2):

% compute the combine fisher statistic:
X = -2.*log(P(:).')*summer;

结果:

X =
  Columns 1 through 6
        18.26       22.564       26.472       27.956       29.342       27.734
  Columns 7 through 10
       16.018       11.116       4.5754       2.4757

最后,我们根据卡方分布计算 p 值2*3 = 6 df:

% get the p-values for all combinations:
p_vals = chi2cdf(X(1:end-n+1),6,'upper');

我们得到:

p_vals =
  Columns 1 through 6
     0.005614   0.00095661   0.00018177    9.577e-05   5.2399e-05   0.00010546
  Columns 7 through 8
     0.013659     0.084865
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Fisher方法matlab组合P值? 的相关文章

  • 使用 java 执行 Matlab 函数

    我正在编写一个应用程序 它使用 matlab 进行图像处理 然后使用 Java 接口显示结果 由于某些原因 我必须同时使用 Java 和 Matlab 如何在java中使用matlab函数 如何创建和访问界面 MATLAB控制 http m
  • 将 3d 矩阵重塑为 2d 矩阵

    我有一个 3d 矩阵 n by m by t 在 MATLAB 中表示n by m一段时间内网格中的测量值 我想要一个二维矩阵 其中空间信息消失了 只有n m随着时间的推移测量t剩下 即 n m by t 我怎样才能做到这一点 你需要命令r
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 将组合字符串和数字输入的元胞数组写入文本文件

    考虑以下 DateTime 2007 01 01 00 00 2007 02 01 00 00 2007 03 01 00 00 Headers Datetime Data Dat 100 200 300 Data DateTime num
  • 这是 `min` 和 `nanmin` 之间的区别; Matlab 中的“max”和“nanmax”?

    Matlab描述nanmin and nanmax像这样 NANMIN最小值 忽略NaNs NANMAX最大值 忽略NaNs 但实际上 min and max ignore NaNs too 那我应该使用哪个 根据我的测试 nanmin a
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 定义自定义 Mupad 程序的一般相对搜索路径

    假设我有一个 mupad 笔记本myMupadNotebook mn在路径上 C projectFolder ABC abc 它调用程序MyMupadProcedure mu它位于 C DEF GHI 现在我有一个 Matlab 脚本mai
  • 为什么 MATLAB 在打印大量 (.png) 图形时速度会变慢?

    我正在将大量数字打印为 png 文件 每个图都是数据矩阵中的一列图 我获取 png 文件并将它们串在一起形成动画 我的问题是 前几百张图像打印得很快 但创建每个新图形的时间却迅速增加 从前几百个 png 文件的约 0 2 秒到第 800 个
  • 如何每次使用按钮将数据添加到 MATLAB 中的现有 XLSX 文件?

    我有一个函数可以生成一些变量 例如分数 对 错 未回答 使用按钮调用此功能 问题是如何每次将函数生成的这些值添加 附加到 XLSX 文件中 或者 如何创建 MAT 文件以便可以添加它 可能的解决方案是什么 附加到 xls 文件所涉及的挑战是
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • 为什么 mex 文件中的 OpenMP 仅产生 1 个线程?

    我是 OpenMP 新手 我有以下代码 使用配置了 MSVS2010 的 Matlab mex 可以正常编译 计算机有 8 个可用处理器 我也使用 matlabpool 检查过 include mex h include
  • 使用 R2010b 中的符号工具箱来求解和/或 linsolve

    我前几天问了一个问题here https stackoverflow com questions 20317038 matlab linear congruence solver that supports a non prime modu
  • 为了清楚起见,是否应该在返回类型上使用无用的类型限定符?

    当我们的头文件中有原型时 我们的静态分析工具会抱怨 返回类型上有无用的类型限定符 例如 const int foo 我们这样定义它是因为该函数返回一个永远不会改变的常量 认为 API 看起来更清晰const到位 为了清楚起见 我觉得这类似于
  • 动态调整自定义刻度数

    Taking SO 的一个例子 https stackoverflow com a 7139485 97160 我想根据当前视图调整轴刻度 这是默认行为 除非设置自定义的刻度数 下图展示了由此产生的行为 左侧是默认行为 右侧是带有自定义刻度
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • 在 Matlab 的命令窗口中获取旧式帮助

    问题的简短版本 在最新版本的 Matlab 中 我在 Windows 上的 R2014b 和 R2015a 中看到过 当您键入help foo你得到一个简要描述 简介函数及其签名 例如 输入help bsxfun产生类似这样的东西 只有更好
  • 如何正确从表中删除 NaN 值

    在 Matlab 中阅读 Excel 电子表格后 不幸的是 我的结果表中包含了 NaN 例如这个 Excel 表格 将产生此表 其中出现额外的 NaN 列 我尝试使用以下代码片段删除 NaN measurementCells readtab
  • matlab中更快的插值方法

    我正在使用 interp1 来插值一些数据 temp 4 30 4 rand 365 10 depth 1 10 dz 0 5 define new depth interval bthD min depth dz max depth ne
  • 如何将数据传递给 MATLAB oncleanup 函数?

    我有一个编译好的 matlab 程序 可以自动调整机器参数 在调整周期结束时 我需要恢复一些原始设置 有时会发生意外错误 有时用户会发现调整算法未正常工作 因此应终止 使用 control C 如果发生可预测的错误 我可以使用 try ca

随机推荐

  • C# FTP,如何检查路径是文件还是目录?

    我有一个包含一些 FTP 路径的数组 如下所示 ftp ip 目录 目录1 ftp ip 目录 目录2 ftp ip 目录 文件 txt ftp ip 目录 directory3 ftp ip 目录 another file csv 如何确
  • 标准 C 中是否有推荐的整数类型来存储函数指针

    C99标准有uintptr t 一个推荐的整数类型 用于将数据指针 指向对象的指针 转换为 但我没有找到等效的整数类型来存储函数指针 是我忽略了吗 特定的编译器可以定义这样的类型 即使它不在标准中 但编译器更有可能声明函数指针可以存储在 例
  • 圆形鱼眼图像扭曲为平面图像

    截至 2015 年 11 月 12 日更新 我将 PanoTools 插件与 Photoshop 和 Hugin 一起使用 并使用了所有这些参数 最终我找到了满足我最低要求的投影 HFOV 和图像输出尺寸参数 参数 Processed Ou
  • ActiveX (COM) 控件在被其父控件关闭时进行清理的正确方法是什么?

    我遇到的问题是 我的 net 控件在包装以供 ActiveX 使用时无法正确清理 当我尝试关闭 SDK 的测试容器应用程序 TstCon32 exe 时 默认行为会使它作为无 GUI 进程运行 我最初通过谷歌找到的解决方法是覆盖 WndPr
  • 在 Ruby 中反转哈希值

    我如何反转哈希中的元素 保持相同的值和键 但反转它们在哈希中的顺序 Like so 4 gt happiness 10 gt cool lala gt 54 1 gt spider 并将其转换为 1 gt spider lala gt 54
  • PHP 在文本区域中回显时显示 \r\n 字符

    我的数据正在读取从数据库 文本 保存的数据 我的问题是它也有这些字符 r n 我怎样才能阻止这些字符的显示 在将数据库文本放入文本区域之前 调用 nl2br 函数作为参数 r n 字符是 ASCII 不可见 字符 编码回车和换行 http
  • Android 主屏幕小部件(图标、标签 - 样式)

    我正在尝试创建一个可以放置在 Android 主屏幕上的图标 小部件 1 个单元 x 1 个单元 该小部件的外观和行为与 Android 中的其他标准快捷方式完全相同 它将有一个图标 在该标签下有一个标签 可以使用轨迹球 可突出显示 选择它
  • Web 应用程序和 API 在同一个 Laravel 项目中?

    我正在尝试找出构建我即将开始的新项目的最佳方法 我们目前有一个网络应用程序和一个移动应用程序 它们都通过 API 提供数据 目前 Web 应用程序是在安装 CodeIgniter 时完成的 而 API 是在单独安装 CodeIgniter
  • webview 从输入字段打开相机,无需文件选择器

    我的个人应用程序快完成了 就是按下输入字段 用相机拍照并将其上传到外部php服务器 最后一部分工作正常 我只是无法让它按照我想要的方式工作 当我按下网络视图 外部源 中的输入字段时 我会看到名为 图像选择器 的菜单 其中包含选项 相机和文档
  • 访问目标函数 Gekko 外部函数中的决策变量值

    我需要访问目标函数之外的决策变量 我有以下内容 tc var for index in index f a tc var index m Var value 25 name tc var format index lb 15 ub 45 i
  • PdfWriter 和事件

    我想创建一个 PdfWriter 对象并设置页眉和页脚事件 问题是 如果我创建一个新的 PDF 它就会起作用 但我的问题是我的输出流中已经有一个 PDF 请在下面找到我的示例代码 Document document new Document
  • Magento - 无法将产品添加到管理面板后端的手动订单中

    我遇到一个问题 当我在 Magento 1 4 1 1 的管理面板中创建订单时 我可以启动订单 选择客户 然后选择语言 它会加载所有信息 但是当我去时到 添加产品 我可以打开它并选择产品 但是当我单击 将所选产品添加到订单 时 它会短暂显示
  • 在尊重括号的同时用逗号分割列表中的字符串

    我有一个清单 例如 a john is great paul school robert jack john 然后我正在构建一个空列表来附加分割 b 然后我这样做 for i in a b append i split 但列表是这样出现的
  • 如何防止鼠标监听器暂时出现在窗口上?

    我正在用 Java 编写一个游戏 这是我试图做得 漂亮 的第一个游戏 这款游戏名为 Bantumi 这是一款棋盘游戏 现在我正在为动作编写动画 问题是 当运动动画运行时 板仍然会获取鼠标事件 如果用户选择新的运动 则正在运行的运动将被丢弃
  • FileProvider“无法找到配置的根”异常

    这些 FileProvider 又一个失去了灵魂 我已经在这个问题上工作了一天多了 看来我错过了一些大东西 任何帮助 将不胜感激 我正在尝试使用 FileProvider 发送带有附件的电子邮件 我的 AndroidManifest xml
  • 将会话中保存的数组中的多行插入表中?

    我使用一个插入命令通过 php 将存储在会话变量中的多个状态值传递到 MySQL 表中 我想知道是否可以将每个状态值插入到不同的行中 我还有一个 ID 保存在变量中 我想将其与每个状态一起插入 campaign id 每个状态都存储在该会话
  • 匹配 foo 或 bar vim 正则表达式

    有没有一种方法可以同时匹配多个单词vim搜索和替换 就像是 s foo bar g 寻找foo or bar并替换为任何内容 这会搜索模式foo bar 这不是我想要的 我可以搜索多个人物这边走 abcdef s ace g 结果是 bdf
  • 有没有办法在开发时只刷新 javascript include ?

    在 js 文件上进行开发时 我只想刷新该文件而不是整个页面以节省时间 有人知道这方面的技术吗 这是创建新脚本元素的函数 它附加一个递增的整数以使脚本的 URL 唯一 如 Kon 建议 以便强制下载 var index 0 function
  • Laravel 4 Auth::attempt() 总是返回 false

    我正在尝试 Laravel 的 Auth 类 但每次我尝试登录用户时 该方法都会返回 false 这是我的代码 路线 php Route get new user function return View make register Rou
  • 使用Fisher方法matlab组合P值?

    完成 CDF 后 我收到了以下值P 其中的样本 0 43 0 12 0 0021 0 05 0 017 0 001 0 025 0 038 0 35 0 29 我想结合我的P值的帮助下Fisher https en wikipedia or