brainGraph基线测试

brainGraph做图论分析非常方便,远胜过gretna和BCT等软件。
但是作者只对braingraph和BCT进行了基线测试,两者结果对比如下:
在这里插入图片描述
可以说大部分是没有区别的。
然而,作者没有对gretna进行测试,毕竟国内人写文章用gretna会稍微多一些。

前两天我使用braingraph和gretna的结果对比了一下,发生了一些误会。
基本数据是纤维束网络,brainGraph使用的threshold = 【0.01,0.01,0.34】作为阈值,然后生成了所有结果的表格,这个比gretna单独调用文件夹方便太多了。
gretna的参数是绝对值,网络稀疏度,【0.01,0.01,0.34】,结果两者拓扑属性结果(network efficiency,nodal network efficiency)是不一样的,差别很大。
当时很奇怪,思索了一个晚上,重新翻回gretna的manual,发现了门道。
gretna的网络构建第一个选项是网络稀疏度,所以大部分使用该软件的人,都用的网络稀疏度作为阈值参数。但是网络稀疏度在manual上的解释是“the ratio of the number of actual edges divided by the maximum possible number of edges in a network”,然后我们回头看看另一个选项 value of matrix element的意思“a threshold value such that network connections with weights greater than the given threshold are retained and oters are ignored”。
那么意思就明显了,实际上,gretna的network sparsity 对应的是brainGraph里面的density,而value of matrix element对应的才是brainGraph里面的threshold.
其实这就是起名导致给人的误导。
然后就是验证想法,用同样的数据,gretna(绝对值,有权重,矩阵元素值),brainGraph(threshold)计算以后,得到的结果就是完全相同的,如下:

这个是brainGraph的结果

在这里插入图片描述

这个是gretna的结果

在这里插入图片描述
(::1)代表的是第一个阈值下,就是0.01。可以看到,两者是一模一样的,只不过gretna是保留4位小数的结果(四舍五入)。

总结:
既然两个软件结果一样,那我就强烈推荐使用brainGraph了,因为brainGraph加上data.table用起来太舒服了,比gretna方便太多level了。强烈推荐。如果要为了和gretna的结果保持一致,只需要调整成相应的参数就行。

gretna和braingraph的参数互通

dt.V级别:58个病人,每个病人34个网络值,每个网络值有148个ROI,所以是58X34X148=291856是对的。
dt.V.group级别:计算每个网络值的所有病人的平均值,所以就是2个组别,每个组34个网络值,每个网络值有148个ROI,2X34X148=10064。

第一种
gretna:绝对值 absolute value, 有权重 weighted,矩阵元素值 value of matrix element
在这里插入图片描述
BrainGraph: threshold

datadir = 'txt_148_ValueOfMatrixElement/'
matfiles <- list.files(datadir, pattern='sub', full.names = T)
inds = lapply(grps, function(x) covars
### 基线测试概述 基线测试是一种特殊的性能测试活动,旨在建立系统在特定配置下的标准响应时间和其他关键性能指标。这些测量结果作为未来比较的基础,帮助识别任何性能退化或改进[^2]。 ### 基线测试的方法 为了有效地进行基线测试,通常遵循以下几种方法: - **定义目标**:明确想要衡量的具体性能属性,比如响应时间和吞吐量。 - **创建稳定的测试环境**:确保每次测试都在相同的硬件和网络条件下运行,以便获得一致的结果。 - **选择合适的度量单位**:决定哪些数据点对于评估应用程序的表现最为重要,例如页面加载速度或者事务处理速率。 - **收集初始数据集**:首次执行完整的性能测试周期以获取原始数值,形成最初的性能基准。 - **定期重复测试**:随着时间推移,在相同环境下重新运行同样的测试案例,对比新旧版本之间的差异。 ### 使用的工具和技术 针对不同类型的Web应用和服务接口,可以采用不同的自动化测试框架来进行基线测试。常用的工具有: - **JMeter**:支持HTTP(S),SOAP/RESTful Web服务等多种协议;能够模拟大量并发用户访问场景,并记录详细的统计信息。 ```bash jmeter -n -t testplan.jmx -l results.csv ``` - **Gatling**:专为高负载下快速迭代开发而优化的压力测试平台;具备强大的Scala DSL语法用于编写灵活多变的脚本逻辑。 ```scala setUp( scn.inject(atOnceUsers(1)) ).protocols(http.baseUrl("http://example.com")) ``` - **Locust**:基于Python编写的分布式负载生成器;易于扩展自定义行为模式,适合持续集成管道中的回归分析任务。 ```python from locust import HttpUser, TaskSet, task class UserBehavior(TaskSet): @task def index(self): self.client.get("/") class WebsiteUser(HttpUser): tasks = [UserBehavior] ``` 除了上述通用型解决方案外,还有专门面向数据库查询语句调优方向的产品如SQL Server Profiler、MySQL Benchmark Suite等也可以辅助完成更细致入微层面的工作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clancy_wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值