脑科学数据挖掘论文精读系列(1)【抑郁对大脑神经影响和对脊椎损伤患者运动恢复的影响探究】

news2025/1/10 10:13:31

Depression mediated the relationships between precentral-subcortical causal links and motor recovery in spinal cord injury patients

手动防爬虫,原创作者CSDN:总是重复名字我很烦啊,联系邮箱daledeng123@163.com

直达原文

这是一篇收录在神经科学领域一区期刊Cerebral Cortex的文章。文章主要研究的是抑郁是否会阻碍脊椎损伤(SCI)患者的运动恢复。

题目

文章题目很明确,Depression mediated(抑郁导致) precentral-subcortical causal links(大脑里一个叫做precentral-subcortical的区域的因果关系)和motor recovery in spinal cord injury patients(SCI患者的运动功能恢复)。所以说文章研究涉及两个内容,一个是抑郁和precentral-subcortical区域的因果关系;抑郁和SCI患者的运动功能恢复的关系。

Introduction

在引言部分,文章介绍了SCI患者可能出现心理抑郁的情况,并且抑郁会导致运动功能恢复受损。并且有足量的研究表明,大脑里NAcc这个区域作为运动中枢,在SCI患者早期恢复阶段可以促进motor cortex活动,进而使得SCI患者的运动能力得到改善。所以说,抑郁、motor cortex和运动恢复是存在一定联系的。因此接下来文章就想要探究这三者的联系。
在这里,作者的想法是通过格兰杰因果检验的方法判断他们之间的因果关系。在这里简单梳理一下格兰杰因果检验:

Granger causality analysis(GCA,格兰杰因果分析)

自回归

在了解格兰杰因果分析前,需要首先清楚“自回归”的概念。
在这里假设有一个时序数据:
T = [ t 1 , t 2 , t 3 , . . . , t n ] T=[t_1,t_2,t_3,...,t_n] T=[t1,t2,t3,...,tn] Y = [ y 1 , y 2 , y 3 , . . . , y n ] Y=[y_1,y_2,y_3,...,y_n] Y=[y1,y2,y3,...,yn]
这里的y与t一一对应。
在自回归的概念里,我们认为,若数据存在强时间关联性,那么当前时刻的数据应该是之前历史数据的共同结果。例如,今天下雨,那么大概率是之前云层中水分积累到了一个临界值。
因此,可以提出这样一种对当前时刻的预测表达:
y t = ∑ 0 n − 1 a t i y t i + ε y_t = \sum_0^{n-1}a_{t_i}y_{t_i}+\varepsilon yt=0n1atiyti+ε A = [ a 1 , a 2 , a 3 , . . . , a n − 1 ] A=[a_1,a_2,a_3,...,a_{n-1}] A=[a1,a2,a3,...,an1]
这里的 a i a_i ai y i y_i yi时刻的权重, ε \varepsilon ε是噪声,A是她的权重系数矩阵。
这个公式表达意思是,今天下雨,那么是因为前天积累了60%水分,但是云层活动又消耗10%,昨天积累了70%,消耗了20%,所以今天下雨了。这个积累的水分就是 a i y i a_iy_i aiyi,消耗的就是 ε \varepsilon ε

二元自回归

自回归对时序数据的解释似乎很好,因为历史的各种原因的积累,导致了当前时刻的结果。但实际上当前时刻的结果并不是一个原因导致的,可能是各种原因一起作用导致的。例如今天下雨,云层积累的水量是确定相关的,但有没有可能是昨天萧敬腾来过呢,你并不能百分百确定萧敬腾来和下不下雨是否存在联系。没关系,先把这个回归方程写出来:
y t = ∑ 0 n − 1 a t i y t i + ∑ 0 n − 1 b t i x t i + ε y_t = \sum_0^{n-1}a_{t_i}y_{t_i}+\sum_0^{n-1}b_{t_i}x_{t_i}+\varepsilon yt=0n1atiyti+0n1btixti+ε B = [ b 1 , b 2 , b 3 , . . . , b n − 1 ] B=[b_1,b_2,b_3,...,b_{n-1}] B=[b1,b2,b3,...,bn1]
接下来判断这个x是否与y构成相关。显然,如果x不影响y,那么B=[0,0,0,…,0]即可。
原假设H0:B=[0,0,0,…,0];H1:B不全为0。
统计量 F = ( R S S r − R S S u ) / m R S S u / ( n − ( m + s ) ) ,临界值 F ( m , n − ( m + s ) ) 统计量F=\frac{(RSS_r-RSS_u)/m}{RSS_u/(n-(m+s))},临界值F(m,n-(m+s)) 统计量F=RSSu/(n(m+s))(RSSrRSSu)/m,临界值F(m,n(m+s))
若统计量F>临界值F则拒绝原假设,称x为y的格兰杰原因。
这里 R S S r RSS_r RSSr表示有约束模型的残差平方和,也就是自回归模型的残差平方和, R S S u RSS_u RSSu表示无约束模型的残差平方和,也就是无约束的残差平方和,m是x的滞后期数,s是协率个数。

代码实现(以python为例)

from statsmodels.tsa.stattools import grangercausalitytests as GCA
import pandas as pd
import numpy as np

# 随机数据验证
# 创建一个两个array,分别有20个范围在0-50随机数据
df = pd.DataFrame(np.random.randint(0, 50, size=(20, 2)), columns=['y', 'x'])
# 这里的maxlag就是滞后期数
GCA(df[['y', 'x']], maxlag=2)

在这里插入图片描述
这里我们只需要关注p这一列的结果,必须所有的p都小于0.05才能证明x会影响y。

Output paramters:
number of lags 1/2: 当lags为1/2时的检测结果
ssr based F test: 残差平方和F检验
ssr based chi2 test: 残差平方和卡方检验
likelihood ratio test: 似然比检验
parameter F test: 参数F检验结果

接下来我们换一个具有相关性的人造数据看看结果:

x = np.random.rand(1, 10)
y = np.random.rand(1, 10)
y += x * np.random.rand(1,10)
df = pd.DataFrame({'y':y[0,:], 'x':x[0,:]}, columns=['y', 'x'])
GCA(df[['y', 'x']], maxlag=2)

在这里插入图片描述
在这种情况下,就说明x对y的预测确实有帮助,拒绝原假设,x与y有一定的内在联系。

(uploading……)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/478387.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统——操作系统用户界面

0.关注博主有更多知识 操作系统入门知识合集 目录 3.1操作系统启动过程 3.1.1BIOS和主引导记录MBR 思考题: 3.1.2操作系统的启动过程 思考题: 3.2用户界面 3.2.1用户界面概念 思考题: 3.2.2系统调用 3.1操作系统启动过程 3.1.1BIO…

【五一创作】使用Resnet残差网络对图像进行分类(猫十二分类,模型定义、训练、保存、预测)(一)

使用Resnet残差网络对图像进行分类 (猫十二分类,模型定义、训练、保存、预测)(一) 目录 一、项目简介 二、环境说明 1、安装库 2、导入需要的库 三、分类过程 (1)、解压数据集 (2&#xf…

Spring中的Bean

1. Bean的配置 Spring 可以被看作是一个大型工厂,这个工厂的作用就是生产和管理 Spring 容器中的Bean。如果想要在项目中使用这个工厂,就需要开发者对Spring 的配置文件进行配置。 Spring 容器支持XML 和 Properties 两种格式的配置文件,在实…

【Python Web】Flask超实用基础知识总结(内附代码)

Flask是一种轻量级Web应用框架,使用Python编写。它是一个简单易用的框架,适合构建小型到中型的Web应用程序。Flask提供了基本的Web开发功能,如路由、请求处理、模板渲染、文件上传等。 下面是Flask的一些基础语法 文章目录 1.静态文件处理2.…

【建议收藏】计算机视觉是什么?这几个计算机视觉的核心任务你真的了解吗?

文章目录 📚引言📖计算机视觉的核心任务📑图像分类和对象识别📑目标检测📑语义分割📑实例分割📑图像生成 📖计算机视觉的应用领域📑人脸识别📑自动驾驶&#…

【论文阅读】LORA: LOW-RANK ADAPTATION OF LARGE LAN- GUAGE MODELS

3.最近很多工作好像都绕不开lora,无论是sd还是llm.... 1. 背景 问题:大模型重新训练所有模型参数的完全微调变得不太可行。lora在做什么 我们提出了低秩自适应,即LoRA,它冻结预先训练的模型权重,并将可训练的秩分解矩…

高级数据结构 Trie树(字典树)

高级数据结构 Trie树(字典树) (Trie Tree)字典树_Rkun18的博客-CSDN博客 字典树节点表示 #define TRIE_MAX_CHAR_NUM 26 //这里你可以自由设置 根据不同需求设置 如果有大小或者其他符号你就需要增大这个数字struct TrieNode{T…

在amd64与arm上用paddlelite部署paddelOCR(Ascend硬件)

由于部署的硬件是华为昇腾 NPU(Ascend310),参考网址https://www.paddlepaddle.org.cn/lite/v2.10/demo_guides/huawei_ascend_npu.html#npu-paddle-lite 先拉取paddlelite用来编译库 git clone https://github.com/PaddlePaddle/Paddle-Lit…

2. Java 异常体系

2.1 Throwable java.lang.Throwable 类是 Java 程序执行过程中发生的异常事件对应的类的根父类。 Throwable 中的常用方法: public void printStackTrace():打印异常的详细信息。 包含了异常的类型、异常的原因、异常出现的位置、在开发和调试阶段都得…

倾斜摄影超大场景的三维模型轻量化纹理压缩的关键技术

倾斜摄影超大场景的三维模型轻量化纹理压缩的关键技术 倾斜摄影超大场景的三维模型轻量化处理中纹理压缩是轻量化处理的重要手段之一,可以在保证模型真实感的前提下,减小数据体积、降低传输带宽和提高渲染性能。以下是几个关键的纹理压缩技术&#xff1a…

自然语言处理知识抽取(pkuseg、DDParser安装及使用)

一、分词简介 1.基本概念 分词是自然语言处理中的一个重要步骤,它可以帮助我们将文本分成一个个词语,以便更好地理解和分析文本。在计算机视觉、语音识别、机器翻译等领域,分词都扮演着重要的角色。 目前,常用的分词库包括 jie…

搭建Redis主从集群+哨兵+代理predixy

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Redis是什么?二、搭建Redis集群步骤1.环境和版本2.Redis 安装部署3.主从同步配置4.哨兵模式配置5.代理predixy配置 总结 前言 提示&#xff1a…

深度学习 -- Dataset与DataLoader

前言 在模型训练的步骤中,数据的部分非常重要,它的过程主要分为数据收集、数据划分、数据读取、数据预处理。 数据收集的有原始样本和标签(Img,label) 数据集的划分需要分为训练集、验证集、测试集。 训练集负责训练模型,验证集…

【C++】C++11常用特性总结

哥们哥们,把书读烂,困在爱里是笨蛋! 文章目录 一、统一的列表初始化1.统一的{}初始化2.std::initializer_list类型的初始化 二、简化声明的关键字1.decltype2.auto && nullptr 三、STL中的一些变化1.新增容器:array &…

趣说数据结构(练习2) —— 顺序表/链表力扣刷题(中等难度)

练习 2 —— 顺序表/链表力扣刷题&#xff08;中等难度&#xff09; 1. 反转链表 II 力扣原题&#xff1a;https://leetcode.cn/problems/reverse-linked-list-ii/ 题目描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从…

数据可视化大屏的页面布局以及自适应

在做数据可视化大屏之前&#xff0c;我们需要考虑到页面的布局问题以及页面缩放自适应问题&#xff0c;下面分别就这两个方面讲解。 页面布局 类似这种页面区块的明显划分&#xff0c;常用的布局方式有两种&#xff1a; 1、flex布局 2、grid布局 grid布局 grid布局可以按区块…

山东专升本计算机第二章-Windows7操作系统

Windows7操作系统 2.3Windows7的文件和文件夹管理 考点7 Windows7的基础知识 文件&#xff0c;是指存放在外存储器上的一组相关信息的•集合 文件名是操作系统中区分不同文件的唯一标志 文件名是由主文件名和扩展名两部分组成不能使用 ▏ < > * ? \ / &#xff1a; …

单向带头链表的添加修改删除操作

public class HeroNodeDemo {public static void main(String[] args) {HeroNode hero1 new HeroNode(1, "松江");HeroNode hero2 new HeroNode(2, "武松");HeroNode hero3 new HeroNode(3, "及时雨");HeroNode hero4 new HeroNode(4, "…

prometheus实战之一:用ansible部署

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 关于《prometheus实战》 《prometheus实战》是欣宸原创的系列文章&#xff0c;旨在通过实战操作来熟悉和掌握prometheus常规技能 本篇概览 本文是《promet…

spring 容器结构/机制debug分析--Spring 学习的核心内容和几个重要概念--IOC 的开发模式--综合解图

目录 Spring Spring 学习的核心内容 解读上图: Spring 几个重要概念 ● 传统的开发模式 解读上图 ● IOC 的开发模式 解读上图 代码示例—入门 xml代码 注意事项和细节 1、说明 2、解释一下类加载路径 3、debug 看看 spring 容器结构/机制 综合解图 Spring Spr…