Utilizing Machine Learning and causal graph... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/14-129" }, "headline": "Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science...", "datePublished": "2025-01-27T11:53:35", "dateModified": "2025-09-10T15:27:03", "author": [ { "@type": "Person", "name": "Ahmed Hossain" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": "Confounding can significantly distort the findings of studies examining cause-and-effect relationships, especially in etiological research. To mitigate this issue, researchers must carefully assess potential confounding variables that may relate to both the exposure and outcome but are not directly influenced by the exposure itself. It is essential that these variables truly impact the outcome rather than simply being correlated with the exposure to avoid false associations. Strengthening confidence in the actual relationship between exposure and outcome requires an understanding of biological mechanisms and the application of various methods to adjust for confounders. The oversight of confounding often arises from inappropriate statistical tests and the aggregation of data across multiple studies. This scoping review article discusses the challenges posed by confounding and presents machine learning approaches for effective control in health science research. Directed acyclic graphs (DAGs) serve as causal graph tools to identify potential confounding variables in health research. By mapping presumed relationships between variables, DAGs enable researchers to estimate causal effects more accurately. While traditional methods such as randomization, matching, and stratification remain effective for controlling confounding, newer techniques like latent variable modeling with negative controls and machine learning methods such as LASSO, Ridge regression, and random forests offer enhanced flexibility and adaptability." } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/14-129", "name": "Utilizing Machine Learning and causal graph approaches to Address..." } } ] } Home Browse Utilizing Machine Learning and causal graph approaches to Address... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Hossain A. Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.12688/f1000research.159632.2 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Systematic Review Revised Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] Ahmed Hossain https://orcid.org/0000-0003-4575-1273 1,2 Ahmed Hossain https://orcid.org/0000-0003-4575-1273 1,2 PUBLISHED 10 Sep 2025 Author details Author details 1 Healthcare Management, University of Sharjah, Sharjah, Sharjah, United Arab Emirates 2 Public Health, North South University, Dhaka, Dhaka Division, 1229, Bangladesh Ahmed Hossain Roles: Conceptualization, Methodology, Project Administration, Resources, Software, Validation, Visualization, Writing – Original Draft Preparation, Writing – Review & Editing OPEN PEER REVIEW DETAILS REVIEWER STATUS This article is included in the Public Health and Environmental Health collection. Abstract Confounding can significantly distort the findings of studies examining cause-and-effect relationships, especially in etiological research. To mitigate this issue, researchers must carefully assess potential confounding variables that may relate to both the exposure and outcome but are not directly influenced by the exposure itself. It is essential that these variables truly impact the outcome rather than simply being correlated with the exposure to avoid false associations. Strengthening confidence in the actual relationship between exposure and outcome requires an understanding of biological mechanisms and the application of various methods to adjust for confounders. The oversight of confounding often arises from inappropriate statistical tests and the aggregation of data across multiple studies. This scoping review article discusses the challenges posed by confounding and presents machine learning approaches for effective control in health science research. Directed acyclic graphs (DAGs) serve as causal graph tools to identify potential confounding variables in health research. By mapping presumed relationships between variables, DAGs enable researchers to estimate causal effects more accurately. While traditional methods such as randomization, matching, and stratification remain effective for controlling confounding, newer techniques like latent variable modeling with negative controls and machine learning methods such as LASSO, Ridge regression, and random forests offer enhanced flexibility and adaptability. READ ALL READ LESS Keywords public health; bias; confounding; directed acyclic graphs; correlation; causal effects. Corresponding Author(s) Ahmed Hossain ( [email protected] ) Close Corresponding author: Ahmed Hossain Competing interests: No competing interests were disclosed. Grant information: The author(s) declared that no grants were involved in supporting this work. Copyright: © 2025 Hossain A. This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: Hossain A. Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.12688/f1000research.159632.2 ) First published: 27 Jan 2025, 14 :129 ( https://doi.org/10.12688/f1000research.159632.1 ) Latest published: 10 Sep 2025, 14 :129 ( https://doi.org/10.12688/f1000research.159632.2 ) Revised Amendments from Version 1 This revision significantly strengthens the manuscript by implementing key enhancements across three critical domains. To bolster methodological transparency, we have elaborated on the systematic review process, providing a comprehensive account of the search strategy, explicit inclusion/exclusion criteria, and a detailed description of the study selection procedure. Furthermore, the statistical rigor has been substantially improved through the incorporation of new comparative analyses and empirical evidence that evaluate machine learning methods against traditional confounder control approaches. Finally, the discussion and conclusions have been fortified to deliver clear, actionable recommendations for researchers and to pinpoint specific, valuable directions for future investigation. This revision significantly strengthens the manuscript by implementing key enhancements across three critical domains. To bolster methodological transparency, we have elaborated on the systematic review process, providing a comprehensive account of the search strategy, explicit inclusion/exclusion criteria, and a detailed description of the study selection procedure. Furthermore, the statistical rigor has been substantially improved through the incorporation of new comparative analyses and empirical evidence that evaluate machine learning methods against traditional confounder control approaches. Finally, the discussion and conclusions have been fortified to deliver clear, actionable recommendations for researchers and to pinpoint specific, valuable directions for future investigation. See the author's detailed response to the review by Vipin Vageriya READ REVIEWER RESPONSES Introduction Variables are essential in health research, serving as building blocks for understanding factors influencing health outcomes. They encompass measurable characteristics, attributes, or events that impact health. In health research, distinguishing between dependent and independent variables is fundamental. Often, research involves multiple interacting factors, requiring careful consideration and control to isolate the specific effect of the independent variable on the outcome. For example, in studying the relationship between economic stressors and mental health, variables like economic hardship, financial threat, financial well-being, depression, anxiety, and stress can be considered. 1 Identifying and addressing confounding variables is crucial for ensuring the validity and reliability of research findings in health science. Confounding variables can distort the true relationship between the independent and dependent variables, leading to biased results and inaccurate conclusions. 2 Failing to account for confounding often occurs due to improper statistical analyses and data aggregation across multiple studies. This emphasizes the pressing need to develop and implement effective control strategies to mitigate the impact of confounding variables in health science research. Establishing a causal relationship between independent and dependent variables requires careful research design and analysis. Correlation does not imply causation. For example, a study may find a strong association between employment opportunities and mental health symptoms, but this does not necessarily mean that employment causes mental health issues. 3 Understanding the distinction between independent and dependent variables is crucial for interpreting research findings in health and other fields. Addressing these challenges ensures the validity and reliability of research findings, which can have significant implications for clinical practice and policy-making. To minimize the influence of confounding variables, researchers employ various strategies throughout the study design and analysis phases. One key approach is randomization, particularly in clinical trials, where participants are randomly assigned to different intervention groups. 4 This method helps distribute confounders evenly among the groups, thereby reducing their potential impact. Another strategy is stratification, which involves dividing the study population into subgroups based on the confounding variable and analyzing these subgroups separately. 5 Matching is also a valuable technique where participants with similar confounding characteristics are paired in different study groups to control for those variables. 6 Multivariate statistical methods, such as regression analysis, are extensively used to adjust for multiple confounders simultaneously. 7 – 10 These techniques allow researchers to isolate the effect of the independent variable on the dependent variable while accounting for the influence of confounders. Sensitivity analysis can also be conducted to assess the robustness of study findings to potential confounding. Outcome regression is an innovative way to control for confounding variables by building a statistical model that predicts the outcome variable while accounting for the influence of confounding variables. Standardization involves transforming the data to make the confounding variables comparable across groups. Implementing control strategies requires careful planning and a thorough understanding of the research context. Researchers must identify potential confounders during the study design phase and select appropriate methods to control them. Transparent reporting of confounder control is crucial for replication and validation. Traditional methods like randomization, matching, and stratification are effective, but newer techniques like latent variable modeling and machine learning offer more nuanced approaches. Directed acyclic graphs can also depict relationships between variables, facilitating unbiased causal effect estimation. Addressing confounding is vital for the integrity of health science research. By employing robust control strategies, researchers can enhance the accuracy of their findings, contributing to more effective health interventions and policies. As health science evolves, ongoing efforts to refine machine learning methodologies and causal graph approach will be essential in advancing our understanding of complex health phenomena and improving public health outcomes. This scoping review article discussed a few machine learning techniques and causal graph approach to control confounding variables in multivariable data. Methods Search strategy We conducted a scoping review of peer-reviewed articles published between January 1, 2010, and December 31, 2023, in PubMed and Google Scholar databases. The search was limited to English-language articles and focused on identifying confounding variables with causal graph and machine learning approaches in health science research. The search combined controlled vocabulary terms (e.g., MeSH) and free-text keywords related to machine learning, causal graphs, confounding, and health sciences. The review adhered to PRISMA guidelines and is given in https://osf.io/krcxt/ . Selection criteria This scoping review identified novel methods for addressing confounding variables in health science research: Directed Acyclic Graphs (DAGs) and machine learning techniques (LASSO, Ridge regression, and random forests). Studies were included if they employed these methods for confounder control. Studies were excluded if they did not explicitly address confounding or bias, focused exclusively on simulations without health science applications, or were non-peer-reviewed publications such as editorials, commentaries, or abstracts without full text. Any discrepancies in article selection were resolved by the sole arbiter, AH. Study selection process All identified citations were imported into EndNote for deduplication and management. The study selection process involved a two-phase screening: first of titles and abstracts, followed by a full-text assessment of potentially eligible studies. The entire process, including the reasons for exclusion, was documented using a PRISMA (Preferred Reporting Items for Systematic Reviews and Meta-Analyses) flow diagram. Confounding variables A confounding variable, also known as a confounder, plays a pivotal role in epidemiological studies, influencing the association between the independent variable (the factor under investigation) and the dependent variable (the disease or outcome of interest). 2 , 11 This additional factor is correlated both with the disease and the independent variable, potentially introducing distortion or masking the true effects of the primary variable on the disease being studied. 12 Confounding factors in a study are not restricted to variables directly impacting both the exposure and outcome; they can exhibit diverse relationships with the exposure and outcome. Such as, 1. A confounder can influence the exposure and the outcome directly. 2. It can affect the exposure and be influenced by another factor that affects the outcome. 3. Alternatively, it can affect the outcome and be influenced by another factor that affects the exposure. The article “On the definition of a confounder” by VanderWeele and Shpitser (2014) clarifies the concept of confounding and introduces the term “surrogate confounder”. 13 For example, one studying caffeine intake and heart disease risk failed to consider physical activity, a known confounder. Since individuals who exercise regularly tend to consume more caffeine and have a lower heart disease risk, physical activity serves as a surrogate confounder in the study. However, using physical activity level as a surrogate for the unmeasured confounder may not fully address the confounding effect, leading to potential bias in the study results. To illustrate a confounding variable, as shown in Figure 1 , consider a hypothetical scenario where a researcher investigates the association between coffee consumption and heart disease . The initial hypothesis suggests that coffee drinkers might have a higher prevalence of heart disease compared to coffee non-drinkers. However, a confounding variable, such as smoking , could distort the relationship. It is observed that coffee drinkers in the study also tend to smoke more cigarettes than coffee non-drinkers. Consequently, smoking becomes a confounding variable in this analysis, creating ambiguity about whether the increased heart disease risk is genuinely associated with coffee consumption or if it is attributable to the confounding variable of smoking. Figure 1. Example of a confounding variable. This situation underscores the complexity of untangling causation in epidemiological studies, especially in the absence of experimental designs. Due to various constraints like technical, ethical, or financial considerations, researchers often rely on observational studies in public health. Understanding and accounting for confounding variables are critical in these studies to draw accurate and meaningful conclusions about causal relationships. It is essential to conduct meticulous epidemiological studies, carefully considering potential confounders, to inform the development of effective preventive measures in public health. Here are some more examples of confounding variables: 1. While smoking is strongly associated with ischemic heart disease, income level can be a confounder. High-income individuals might have better access to healthcare and healthier lifestyles, leading to lower heart disease rates, even if there is a positive association between income level and smoke. 2. Research exploring the impact of exercise on depression could be confounded by social support, as individuals with stronger social support are more likely to exercise and have lower depression rates. Social support provides encouragement, motivation, and positive reinforcement, which can help individuals initiate and maintain regular exercise routines. 3. Studies investigating the link between diet and lung cancer risk may face confounding from smoking, as smokers are more likely to have an unhealthy diet and a higher risk of lung cancer. Smoking is associated with other unhealthy lifestyle behaviors, such as poor diet, alcohol consumption, and sedentary lifestyle, these factors may confound the association between diet and lung cancer risk. Effect of confounding variables in health research Confounding variables pose a significant challenge in health research by influencing both the independent and dependent variables, potentially distorting the observed relationships, and leading to misleading results, either falsely positive or falsely negative. 14 Upward and downward confounding refer to the direction of bias that occurs when an extraneous variable is not adequately controlled for in a study. 8 Upward confounding: Upward confounding occurs when a positively associated confounding variable overestimates the effect of the exposure on the outcome, leading to an inflated observed association. 15 In other words, the observed association between the exposure and the outcome appears stronger than it actually is because the confounding variable artificially inflates the effect size. Failure to account for the confounder leads to an overestimation of the true association between the exposure and the outcome. Downward confounding: Downward confounding arises when a negatively associated confounding variable underestimates the impact of the exposure on the outcome, resulting in a weakened observed association. 16 Failure to adequately address this confounder can obscure or underestimate the true relationship between the exposure and the outcome. In epidemiology, when discussing the relationship between exposure and outcome, some factors are considered “on the causal pathway.” This means that these factors are intermediate steps through which the exposure leads to the outcome. Adjusting for these factors in statistical analyses could essentially remove the effect of interest because they are part of the sequence of events linking the exposure and outcome. To illustrate with an example, let’s consider smoking as an exposure and lung cancer as the outcome variable. If we view chronic cough as an intermediate step along the causal pathway between smoking and lung cancer, adjusting for chronic cough in the analysis could potentially obscure the genuine association between smoking and lung cancer. This is because chronic cough is influenced by smoking and, consequently, plays a role in the development of lung cancer. In summary, when some factors are part of the causal pathway, adjusting for them in statistical analyses may not be appropriate as it can alter the interpretation of the relationship between exposure and outcome. Machine learning approaches for confounding control New techniques like latent variable modeling with negative controls, inverse probability of treatment weighting (IPTW) and g-estimation offer more flexibility in applying standardization for confounding control. 17 The method introduces a latent variable to represent unobserved confounding factors and assumes that these factors affect both the exposure and the negative control (a variable unrelated to the outcome) to the same degree. Machine learning techniques like Least Absolute Shrinkage and Selection Operator (LASSO), Ridge regression, and random forests play a pivotal role in identifying confounding variables and mitigating bias, especially in large healthcare datasets where unmeasured confounding may exist. 18 The article also noted that hybrid methods, combining traditional techniques like stepwise regression, directed acyclic graphs, and knowledge-based approaches with machine learning, showed promising results. LASSO applies a penalty to the model’s coefficients, resulting in shrinkage and potentially reducing some coefficients to zero. 19 This sparsity characteristic simplifies the model and enhances interpretability by retaining only the most relevant features. Ridge regression also employs regularization to prevent overfitting but differs from LASSO in that it does not reduce coefficients to exactly zero, making it a more stable option when managing highly correlated features. 20 Random Forests, on the other hand, evaluate the significance of each feature (or confounder) in predicting the outcome. 21 They excel at capturing complex, non-linear relationships between variables and are robust against outliers and noise in the data. By employing these diverse strategies, researchers can enhance the reliability and robustness of their findings in health science research. Machine learning should be viewed not as a replacement for causal theory but as a powerful complement to it. While traditional methods remain sufficient and more interpretable for simpler problems, the growing complexity and high dimensionality of modern data make ML-based approaches, when embedded within a causal framework, more effective for addressing confounding and producing robust causal estimates. The focus is therefore shifting from a dichotomy of ‘ML versus traditional methods’ to the challenge of optimally integrating ML into the causal inference pipeline. Identifying confounders by causal graphs Causal graphs, also known as directed acyclic graphs (DAGs), provide a visual representation of the causal relationships between variables in a given system or phenomenon. 22 In the context of evaluating potential confounding bias and other biases in epidemiological studies, causal graphs serve as a gold standard tool. 23 By visually mapping out the relationships between variables, including exposure, outcome, and potential confounders, causal graphs allow researchers to assess the likelihood of confounding and other biases affecting their study results. Researchers can use causal graphs to identify variables that may act as confounders, mediators, or moderators in the relationship between the exposure and outcome of interest. By including these variables in their analyses or adjusting for them appropriately, researchers can control for potential sources of bias and obtain more accurate estimates of the true causal effect. However, DAGs don’t usually show how variables might influence each other indirectly (interactions). This is because they focus on the overall structure of relationships, not the specific details of how strong or curved those relationships might be. We investigated a hypothetical DAG to adjust potential confounders in investigating the relationship between smoking and ischemic heart disease. This figure was constructed through DAGITTY ( http://www.dagitty.net/dags.html# ) and is given in Figure 2 . This graphical method depicts hypothesized causal relationships and deduces the statistical associations implied by these causal relationships. We consider two potential confounders income level and age. The minimally sufficient adjustment set is the combination of the fewest nodes that, being ancestors of both the exposure and outcome. In this conceptual diagram, each circle represents an individual exposure (‘node’) of theoretical relevance to this hypothesis; each node is interconnected by directional arrows (‘edges’) that represent theoretical associations based on the researchers’ assessment of a priori literature and determination of biological plausibility. Smoking was the main exposure of interest (green node with black border), with ischemic heart disease (blue node with black border) as the outcome of interest. In this instance, all the other exposures (‘nodes’) are theoretically causally associated with (i.e., ancestors of ) both the exposure and the outcome. These ‘adjusted variables’ can then be introduced into the multivariate modelling as potential confounders. In this example, minimal sufficient adjustment is containing Income level in the model for estimating the total effect of Smoking on Ischemic heart disease. Figure 2. DAG demonstrating causal relationships and potential biasing pathways affecting the association between smoking and ischemic heart. Identifying confounders using change of an effect size Historically, researchers used the change in estimate method to identify confounders by observing how the effect size of an exposure changes when potential confounders are adjusted for in the analysis. If the effect size changed substantially, it was considered evidence of confounding. 24 – 26 Calculating odds ratios in the context of confounding variables involves examining how the association between an exposure and an outcome change when considering the influence of a third variable. The odds ratio (OR) is a statistical measure used in epidemiology and other research fields to assess the strength and direction of association between two categorical variables. It is commonly employed in case-control studies and logistic regression analyses. The odds ratio is calculated as the ratio of the odds of an event occurring in one group to the odds of the same event occurring in another group. Here are a few examples illustrating the impact of confounding variables on odds ratios: Example 1: Consider a scenario where a research study explores the link between smoking (exposure) and ischemic heart disease (outcome). However, age emerges as a potential confounding variable since older individuals are more likely to both smoke and develop ischemic heart disease. To ascertain whether age indeed acts as a confounding variable, odds ratios are calculated both with and without considering age. • Without considering age: The odds of developing lung cancer among smokers are compared to the odds among non-smokers. Let’s assume the calculated value is 5.0, signifying that smoking is associated with a fivefold increase in the risk of lung cancer. • After considering age: A logistic regression model is applied, incorporating age as a variable. The resulting adjusted odds ratio is determined to be 3.0. If the odds ratio decreases after adjusting for age, this signals that age plays a confounding role, influencing the association between smoking and lung cancer. In this context, the reduction from 5.0 to 3.0 indicates that age was indeed a confounding variable impacting the observed relationship between smoking and lung cancer. Example 2: Suppose research explores the association between regular exercise (exposure) and obesity (outcome). Socioeconomic status (SES) is a confounding variable, as it is linked to both exercise habits and obesity. Now to investigate whether age is a confounding variable we will have to calculated Odds Ratio with and without considering SES variable. • Without considering SES: The odds of experiencing obesity among those who engage in regular exercise are compared to the odds among those who don’t exercise regularly. Let’s assume the calculated value is 0.7, indicating that regular exercise is associated with a 30% reduction in the risk of weight gain. • After considering SES: After applying a logistic regression model with SES adjustment we found the odds ratio is 1.2. If the odds ratio undergoes significant change after adjusting for SES, it implies that SES functions as a confounding variable affecting the association between exercise and obesity. In this context, a substantial change in the odds ratio from 0.7 to 1.2 suggests that SES indeed played a confounding role, influencing the observed relationship between exercise and obesity. However, researchers are advised against relying on the change in estimate method to identify confounders, especially when dealing with non-collapsible measures like the odds ratio. Non-collapsible measures can introduce bias in estimating the association due to inconsistent effects of confounder adjustment across different strata. Hence, alternative methods or approaches are recommended for identifying and adjusting for confounding in statistical analyses. Confounder control: Elimination vs. Inclusion Controlling for confounders in research is crucial to ensure meaningful conclusions from the data. 26 Two main approaches exist: elimination and inclusion. Both have their strengths and weaknesses, so choosing the right one depends on specific study and data. Confounder elimination The method involves excluding or restricting individuals with confounding characteristics from the analysis. 27 For Example, in studying the relationship between smoking and developing lung cancer, it is possible to eliminate individuals with older adults that could affect developing lung cancer. It is simple to implement, reduces potential confounding bias. In another hypothetical study, examining the association between smoking and ischemic heart disease in community adults, age could act as a confounder. To control for age-related confounding during study design, a straightforward approach would be to implement restriction. This might involve limiting the study to adults aged 60 years and older. While restriction can partially address confounding by age, it may limit the generalizability of study findings to other groups. However, it can lead to smaller sample sizes, reducing generalizability and power. Moreover, it may not eliminate all relevant confounders, potentially missing important effects. Confounder inclusion The method includes adding confounding variables as additional predictors in your statistical model. 28 For example, in the exercise and weight loss study, we may include variables like income level and access to healthy food alongside exercise in the regression analysis. The multivariable regression analysis can control for multiple confounders simultaneously, potentially revealing more nuanced relationships. 29 , 30 Moreover, a latent variable strategy with negative controls helps account for hidden factors affecting both exposure and outcome, leading to more accurate estimates of how prenatal factors influence outcomes. 17 Another example, in a clinical trial testing the effectiveness of a new drug, if researchers suspect that age may confound the results, they could control by inclusion by considering age as an independent variable. Participants might be divided into different age groups, and the impact of the drug could be assessed within each age group separately. This way, the potential influence of age on the results is explicitly considered. One strength of this method lies in its ability to maintain larger sample sizes, enhancing generalizability and statistical power. However, its successful application necessitates the careful selection of relevant confounders. Additionally, this method demands more intricate analysis, potentially requiring advanced statistical techniques. Limitations of the study This study includes inclusion and exclusion criteria determined by a single author, introducing the potential for subjectivity and variability in study selection, as well as researcher bias. This review discusses an overview of the literature rather than an in-depth, critical analysis of individual studies, which limits the depth of evaluation. Additionally, this scoping review does not involve any detailed analysis, restricting its ability to draw definitive conclusions about specific models. The study also did not explore alternative approaches, such as elastic net and boosting, for managing confounding variables, which could have enriched its scope. Despite these limitations, this scoping review provides a valuable foundation for further research, including systematic reviews focused on machine learning techniques for addressing confounding variables. By acknowledging these limitations and adopting rigorous methodological strategies in future studies, researchers can enhance the impact and utility of scoping reviews in this field. Conclusion Understanding confounding is crucial for accurate causal inference. By grasping its definitions, control mechanisms, and connections to exchangeability and collapsibility, researchers can design and analyze studies rigorously. To address confounding, meticulous evaluation of potential confounding variables is essential, ensuring they meet all criteria for adjustment without introducing bias. While correlation with the exposure is important, establishing their true influence on the outcome is equally vital to avoid spurious associations. Biological mechanisms and sensitivity analyses can provide valuable insights into the stability of results under different adjustment strategies. Careful assessment and control of confounding in epidemiological studies are crucial for ensuring the accuracy of estimated exposure-outcome associations. Directed acyclic graphs (DAGs) are powerful visual tools in health research. By mapping relationships between variables, DAGs help identify potential confounding factors, leading to more accurate estimates of causal effects. While traditional methods like randomization, matching, and stratification remain valuable, newer techniques like latent variable modeling with negative controls offer even greater flexibility in controlling for confounding. Future research should focus on developing frameworks that seamlessly integrate machine learning with causal inference, ensuring both methodological rigor and interpretability. Emphasis is needed on creating guidelines for selecting when ML offers advantages over traditional approaches, designing hybrid methods that leverage the strengths of both, and validating these approaches across diverse, high-dimensional health datasets. Building user-friendly tools and fostering interdisciplinary collaboration will be essential to translate these advances into practical applications for health science research. Data availability statement No data associated with this article. Reporting guidelines OSF: PRISMA-P and PRISMA-ScR checklist for “Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review.” https://doi.org/10.17605/OSF.IO/KRCXT . 31 The project contains the following Reporting guidelines data: • PRISMA-ScR-Fillable-Checklist_AH.docx Data are available under the terms of the Creative Commons Attribution 4.0 International license (CC-BY 4.0). References 1. Ali M, Uddin Z, Hossain A: Economic stressors and mental health symptoms among Bangladeshi rehabilitation professionals: A cross-sectional study amid COVID-19 pandemic. Heliyon. 2021; 7 (4): e06715. PubMed Abstract | Publisher Full Text | Free Full Text 2. Jager KJ, Zoccali C, Macleod A, et al. : Confounding: what it is and how to deal with it. Kidney Int. 2008; 73 (3): 256–260. Publisher Full Text 3. Hossain A, Baten RBA, Sultana ZZ, et al. : Predisplacement Abuse and Postdisplacement Factors Associated With Mental Health Symptoms After Forced Migration Among Rohingya Refugees in Bangladesh. JAMA Netw. Open. 2021; 4 (3): e211801. PubMed Abstract | Publisher Full Text | Free Full Text 4. VanderWeele TJ: Principles of confounder selection. Eur. J. Epidemiol. 2019; 34 (3): 211–219. PubMed Abstract | Publisher Full Text | Free Full Text 5. Ali M, Uddin Z, Hossain A: Combined Effect of Vitamin D Supplementation and Physiotherapy on Reducing Pain Among Adult Patients With Musculoskeletal Disorders: A Quasi-Experimental Clinical Trial. Front. Nutr. 2021; 8 : 717473. PubMed Abstract | Publisher Full Text | Free Full Text 6. Islam M, Sultana ZZ, Iqbal A, et al. : Effect of in-house crowding on childhood hospital admissions for acute respiratory infection: A matched case-control study in Bangladesh. Int. J. Infect. Dis. 2021; 105 : 639–645. PubMed Abstract | Publisher Full Text 7. Ali M, Ahsan GU, Hossain A: Prevalence and associated occupational factors of low back pain among the bank employees in Dhaka City. J. Occup. Health. 2020; 62 (1): e12131. PubMed Abstract | Publisher Full Text | Free Full Text 8. Chowdhury SR, Kabir H, Mazumder S, et al. : Workplace violence, bullying, burnout, job satisfaction and their correlation with depression among Bangladeshi nurses: A cross-sectional survey during the COVID-19 pandemic. PLoS One. 2022; 17 (9): e0274965. PubMed Abstract | Publisher Full Text | Free Full Text 9. Ali M, Ahsan GU, Khan R, et al. : Immediate impact of stay-at-home orders to control COVID-19 transmission on mental well-being in Bangladeshi adults: Patterns, Explanations, and future directions. BMC. Res. Notes. 2020; 13 (1): 494. PubMed Abstract | Publisher Full Text | Free Full Text 10. Hossain A, Niroula B, Duwal S, et al. : Maternal profiles and social determinants of severe acute malnutrition among children under-five years of age: A case-control study in Nepal. Heliyon. 2020; 6 (5): e03849. PubMed Abstract | Publisher Full Text | Free Full Text 11. Skelly AC, Dettori JR, Brodt ED: Assessing bias: the importance of considering confounding. Evid. Based Spine Care J. 2012 Feb; 3 (1): 9–12. PubMed Abstract | Publisher Full Text | Free Full Text 12. Schober P, Vetter TR: Confounding in Observational Research. Anesth. Analg. 2020; 130 (3): 635. Publisher Full Text 13. VanderWeele TJ, Robinson WR: On the causal interpretation of race in regressions adjusting for confounding and mediating variables. Epidemiology. 2014; 25 (4): 473–484. PubMed Abstract | Publisher Full Text | Free Full Text 14. Grimes DA, Schulz KF: Bias and causal associations in observational research. Lancet (London, England). 2002; 359 (9302): 248–252. Publisher Full Text 15. Schuster NA, Rijnhart JJM, Bosman LC, et al. : Misspecification of confounder-exposure and confounder-outcome associations leads to bias in effect estimates. BMC Med. Res. Methodol. 2023; 23 (1): 11. PubMed Abstract | Publisher Full Text | Free Full Text 16. Liu L, Hou L, Yu Y, et al. : A novel method for controlling unobserved confounding using double confounders. BMC Med. Res. Methodol. 2020; 20 (1): 195. PubMed Abstract | Publisher Full Text | Free Full Text 17. Gustavson K, Davey Smith G, Eilertsen EM: Handling unobserved confounding in the relation between prenatal risk factors and child outcomes: a latent variable strategy. Eur. J. Epidemiol. 2022; 37 (5): 477–494. PubMed Abstract | Publisher Full Text | Free Full Text 18. Benasseur I, Talbot D, Durand M, et al. : A comparison of confounder selection and adjustment methods for estimating causal effects using large healthcare databases. Pharmacoepidemiol. Drug Saf. 2022; 31 (4): 424–433. PubMed Abstract | Publisher Full Text | Free Full Text 19. Wyss R, van der Laan M , Gruber S, et al. : Targeted learning with an undersmoothed LASSO propensity score model for large-scale covariate adjustment in health-care database studies. Am. J. Epidemiol. 2024; 193 (11): 1632–1640. PubMed Abstract | Publisher Full Text | Free Full Text 20. Schneeweiss S, Eddings W, Glynn RJ, et al. : Variable Selection for Confounding Adjustment in High-dimensional Covariate Spaces When Analyzing Healthcare Databases. Epidemiology. 2017; 28 (2): 237–248. PubMed Abstract | Publisher Full Text 21. Suk Y, Kang H: Tuning Random Forests for Causal Inference under Cluster-Level Unmeasured Confounding. Multivar. Behav. Res. 2023; 58 (2): 408–440. PubMed Abstract | Publisher Full Text 22. Lipsky AM, Greenland S: Causal Directed Acyclic Graphs. JAMA. 2022; 327 (11): 1083–1084. Publisher Full Text 23. Tennant PWG, Murray EJ, Arnold KF, et al. : Use of directed acyclic graphs (DAGs) to identify confounders in applied health research: review and recommendations. Int. J. Epidemiol. 2021; 50 (2): 620–632. PubMed Abstract | Publisher Full Text | Free Full Text 24. Skelly AC, Dettori JR, Brodt ED: Assessing bias: the importance of considering confounding. Evid. Based Spine Care J. 2012 Feb; 3 (1): 9–12. PubMed Abstract | Publisher Full Text | Free Full Text 25. Farmer R, Lawrenson R: Lecture notes in Epidemiology and Public Health Medicine. Blackwell Publishing; 2004; 67–68. 26. Bradbury BD, Gilbertson DT, Brookhart MA, et al. : Confounding and control of confounding in nonexperimental studies of medications in patients with CKD. Adv. Chronic Kidney Dis. 2012; 19 (1): 19–26. PubMed Abstract | Publisher Full Text 27. Lipsitch M, Tchetgen Tchetgen E, Cohen T: Negative controls: a tool for detecting confounding and bias in observational studies. Epidemiology. 2010; 21 (3): 383–388. PubMed Abstract | Publisher Full Text | Free Full Text 28. Hossain A, Hossain SA, Fatema AN, et al. : Age and gender-specific antibiotic resistance patterns among Bangladeshi patients with urinary tract infection caused by Escherichia coli. Heliyon. 2020; 6 (6): e04161. PubMed Abstract | Publisher Full Text | Free Full Text 29. Schneeweiss S, Eddings W, Glynn RJ, et al. : Variable Selection for Confounding Adjustment in High-dimensional Covariate Spaces When Analyzing Healthcare Databases. Epidemiology. 2017; 28 (2): 237–248. PubMed Abstract | Publisher Full Text 30. Hajian Tilaki K: Methodological issues of confounding in analytical epidemiologic studies. Caspian J. Intern. Med. 2012 Summer; 3 (3): 488–495. PubMed Abstract | Free Full Text 31. Hossain A Dr.: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review.2024, December 11. Publisher Full Text Comments on this article Comments (0) Version 2 VERSION 2 PUBLISHED 27 Jan 2025 ADD YOUR COMMENT Comment Author details Author details 1 Healthcare Management, University of Sharjah, Sharjah, Sharjah, United Arab Emirates 2 Public Health, North South University, Dhaka, Dhaka Division, 1229, Bangladesh Ahmed Hossain Roles: Conceptualization, Methodology, Project Administration, Resources, Software, Validation, Visualization, Writing – Original Draft Preparation, Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information The author(s) declared that no grants were involved in supporting this work. Article Versions (2) version 2 Revised Published: 10 Sep 2025, 14:129 https://doi.org/10.12688/f1000research.159632.2 version 1 Published: 27 Jan 2025, 14:129 https://doi.org/10.12688/f1000research.159632.1 Copyright © 2025 Hossain A. This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Hossain A. Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.12688/f1000research.159632.2 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Version 2 VERSION 2 PUBLISHED 10 Sep 2025 Revised Views 0 Cite How to cite this report: Adjei FA. Reviewer Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.187911.r411686 ) The direct URL for this report is: https://f1000research.com/articles/14-129/v2#referee-response-411686 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 23 Sep 2025 Franklin Akwasi Adjei , University of Wyoming, Wyoming, USA Approved VIEWS 0 https://doi.org/10.5256/f1000research.187911.r411686 The manuscript presents a comprehensive scoping review of methods that are used to identify and control confounding variables in health-related research. The rationale for this review is clearly articulated throughout the manuscript. A confounding variable, which is the distortion of ... Continue reading READ ALL The manuscript presents a comprehensive scoping review of methods that are used to identify and control confounding variables in health-related research. The rationale for this review is clearly articulated throughout the manuscript. A confounding variable, which is the distortion of the observed relationship between an exposure and an outcome by an external variable, is a significant challenge in observational and experimental studies. The authors stated the need for addressing confounding to avoid biased conclusions, emphasizing that failure to control confounders can lead to both falsely positive and falsely negative results. The review's objectives are clearly stated, supported by practical examples and hypothetical scenarios, such as the relationship between smoking, coffee consumption, and heart disease. These examples are both practical and common, justifying the study's objectives. The manuscript has given sufficient methodological detail to allow replication of the review. The author describes the search strategy comprehensively, including the databases they used and the publication times. The criteria for including and excluding articles were also listed, and PRISMA guidelines were followed. Additionally, the manuscript details the statistical approaches used in the included studies, providing explanations that enable readers to understand, reproduce, and critically evaluate the analytical methods. The statistical analysis and interpretation presented in the manuscript are appropriate and aligned with the objectives of the review. The authors correctly explain the concepts of confounding variables and the implications of failing to adjust for these variables in health-related studies, such as epidemiological ones. The review's conclusions are well supported by the evidence and discussion. The manuscript highlights the importance of accurately identifying confounders, assessing their effects on both exposure and outcome variables, and using suitable control strategies. The authors also recognize limitations, such as potential subjectivity in study selection, the focus on a scoping rather than an in-depth review, and the omission of some machine learning methods that could offer further insights. As a remark, this scoping review has certain limitations that could have been addressed, notably the variability among the included studies. Differences in population characteristics, health outcomes, study designs, and statistical methods make direct comparisons difficult and prevent drawing broad conclusions. Additionally, machine learning and causal inference techniques, including deep learning, causal forests, and boosting, are evolving rapidly, and this may have led to some recent advances being overlooked, thereby creating gaps in the review’s scope. A single author carried out the selection process, which can lead to potential bias or subjectivity in choosing studies. Lastly, since the review broadly covers health science research, the relevance of specific methods can vary across fields like epidemiology, clinical trials, or health services research. Thus, some recommendations may not be fully applicable across all health research domains, limiting their overall generalizability and usefulness. Despite these constraints, the conclusions are grounded in the reviewed evidence, and this makes sure that there is scientific credibility. Are the rationale for, and objectives of, the Systematic Review clearly stated? Yes Are sufficient details of the methods and analysis provided to allow replication by others? Yes Is the statistical analysis and its interpretation appropriate? Yes Are the conclusions drawn adequately supported by the results presented in the review? Yes If this is a Living Systematic Review, is the ‘living’ method appropriate and is the search schedule clearly defined and justified? (‘Living Systematic Review’ or a variation of this term should be included in the title.) Not applicable Competing Interests: No competing interests were disclosed. Reviewer Expertise: Public health, environmental health I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Adjei FA. Reviewer Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.187911.r411686 ) The direct URL for this report is: https://f1000research.com/articles/14-129/v2#referee-response-411686 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Version 1 VERSION 1 PUBLISHED 27 Jan 2025 Views 0 Cite How to cite this report: Vageriya V. Reviewer Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.175391.r411684 ) The direct URL for this report is: https://f1000research.com/articles/14-129/v1#referee-response-411684 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 08 Sep 2025 Vipin Vageriya , Charotar University of Science and Technology, Changa, Gujarat, India Approved VIEWS 0 https://doi.org/10.5256/f1000research.175391.r411684 Casual graph approach is important to establish/check the relationship between two variables. DAGs are generally used to model dependencies on variables and workflows, such as task scheduling and data processing. The objective of study is clear. The study conclusion is also ... Continue reading READ ALL Casual graph approach is important to establish/check the relationship between two variables. DAGs are generally used to model dependencies on variables and workflows, such as task scheduling and data processing. The objective of study is clear. The study conclusion is also significant. I personally believe, it is good paper. The example cited by author are also self-explanatory and easy to understand. Are the rationale for, and objectives of, the Systematic Review clearly stated? Yes Are sufficient details of the methods and analysis provided to allow replication by others? Yes Is the statistical analysis and its interpretation appropriate? I cannot comment. A qualified statistician is required. Are the conclusions drawn adequately supported by the results presented in the review? Yes If this is a Living Systematic Review, is the ‘living’ method appropriate and is the search schedule clearly defined and justified? (‘Living Systematic Review’ or a variation of this term should be included in the title.) Yes Competing Interests: No competing interests were disclosed. Reviewer Expertise: Child Epilepsy, Growth and Development, Parenting, Child Psychology I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Vageriya V. Reviewer Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.175391.r411684 ) The direct URL for this report is: https://f1000research.com/articles/14-129/v1#referee-response-411684 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Author Response 12 Sep 2025 Ahmed Hossain , Public Health, North South University, Dhaka, 1229, Bangladesh 12 Sep 2025 Author Response Thanks Competing Interests: No Thanks Thanks Competing Interests: No Close Report a concern Reviewer Response 27 Sep 2025 Ali Husnain , Chicago State University, Chicago, USA 27 Sep 2025 Reviewer Response This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer ... Continue reading This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer computational methods (machine learning and causal graphs). The topic is timely and relevant, and the manuscript succeeds in explaining complex concepts in an accessible way, supported by clear examples. Strengths Clear rationale and objective for conducting the review. Balanced integration of traditional epidemiological techniques with modern ML-based approaches. Accessible explanations of confounding, DAGs, and ML methods for a broad readership. Timely contribution to the field given the growing use of ML in public health. Areas for Improvement Methodological transparency – The search strategy and inclusion/exclusion criteria should be reported in greater detail for reproducibility. Conducting the review with a single reviewer introduces risk of bias; this needs more discussion or mitigation. Depth of analysis – The paper functions more as a narrative overview than a critical synthesis. A comparative table summarizing included studies, their methods, and outcomes would enhance rigor. Statistical rigor – The manuscript would benefit from more comparative or empirical evidence on how ML methods perform against traditional confounder-control techniques. Scope of ML methods – The focus on LASSO, Ridge, and Random Forests is too narrow. Methods like Elastic Net, boosting, Bayesian models, and double machine learning should be at least acknowledged. Practical recommendations – The discussion should provide clearer guidance for researchers on when to apply DAGs vs. ML approaches, and highlight potential pitfalls (e.g., collider bias, non-collapsibility). Minor comments : Improve figure clarity and align terminology with standard epidemiological usage. The abstract could more clearly emphasize the novel contribution of this review. Recommendation : Accept with major revisions . This article has strong potential but requires expanded methodological detail, deeper comparative analysis, and more practical guidance to maximize its impact. This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer computational methods (machine learning and causal graphs). The topic is timely and relevant, and the manuscript succeeds in explaining complex concepts in an accessible way, supported by clear examples. Strengths Clear rationale and objective for conducting the review. Balanced integration of traditional epidemiological techniques with modern ML-based approaches. Accessible explanations of confounding, DAGs, and ML methods for a broad readership. Timely contribution to the field given the growing use of ML in public health. Areas for Improvement Methodological transparency – The search strategy and inclusion/exclusion criteria should be reported in greater detail for reproducibility. Conducting the review with a single reviewer introduces risk of bias; this needs more discussion or mitigation. Depth of analysis – The paper functions more as a narrative overview than a critical synthesis. A comparative table summarizing included studies, their methods, and outcomes would enhance rigor. Statistical rigor – The manuscript would benefit from more comparative or empirical evidence on how ML methods perform against traditional confounder-control techniques. Scope of ML methods – The focus on LASSO, Ridge, and Random Forests is too narrow. Methods like Elastic Net, boosting, Bayesian models, and double machine learning should be at least acknowledged. Practical recommendations – The discussion should provide clearer guidance for researchers on when to apply DAGs vs. ML approaches, and highlight potential pitfalls (e.g., collider bias, non-collapsibility). Minor comments : Improve figure clarity and align terminology with standard epidemiological usage. The abstract could more clearly emphasize the novel contribution of this review. Recommendation : Accept with major revisions . This article has strong potential but requires expanded methodological detail, deeper comparative analysis, and more practical guidance to maximize its impact. Competing Interests: none Close Report a concern Respond or Comment COMMENTS ON THIS REPORT Author Response 12 Sep 2025 Ahmed Hossain , Public Health, North South University, Dhaka, 1229, Bangladesh 12 Sep 2025 Author Response Thanks Competing Interests: No Thanks Thanks Competing Interests: No Close Report a concern Reviewer Response 27 Sep 2025 Ali Husnain , Chicago State University, Chicago, USA 27 Sep 2025 Reviewer Response This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer ... Continue reading This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer computational methods (machine learning and causal graphs). The topic is timely and relevant, and the manuscript succeeds in explaining complex concepts in an accessible way, supported by clear examples. Strengths Clear rationale and objective for conducting the review. Balanced integration of traditional epidemiological techniques with modern ML-based approaches. Accessible explanations of confounding, DAGs, and ML methods for a broad readership. Timely contribution to the field given the growing use of ML in public health. Areas for Improvement Methodological transparency – The search strategy and inclusion/exclusion criteria should be reported in greater detail for reproducibility. Conducting the review with a single reviewer introduces risk of bias; this needs more discussion or mitigation. Depth of analysis – The paper functions more as a narrative overview than a critical synthesis. A comparative table summarizing included studies, their methods, and outcomes would enhance rigor. Statistical rigor – The manuscript would benefit from more comparative or empirical evidence on how ML methods perform against traditional confounder-control techniques. Scope of ML methods – The focus on LASSO, Ridge, and Random Forests is too narrow. Methods like Elastic Net, boosting, Bayesian models, and double machine learning should be at least acknowledged. Practical recommendations – The discussion should provide clearer guidance for researchers on when to apply DAGs vs. ML approaches, and highlight potential pitfalls (e.g., collider bias, non-collapsibility). Minor comments : Improve figure clarity and align terminology with standard epidemiological usage. The abstract could more clearly emphasize the novel contribution of this review. Recommendation : Accept with major revisions . This article has strong potential but requires expanded methodological detail, deeper comparative analysis, and more practical guidance to maximize its impact. This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer computational methods (machine learning and causal graphs). The topic is timely and relevant, and the manuscript succeeds in explaining complex concepts in an accessible way, supported by clear examples. Strengths Clear rationale and objective for conducting the review. Balanced integration of traditional epidemiological techniques with modern ML-based approaches. Accessible explanations of confounding, DAGs, and ML methods for a broad readership. Timely contribution to the field given the growing use of ML in public health. Areas for Improvement Methodological transparency – The search strategy and inclusion/exclusion criteria should be reported in greater detail for reproducibility. Conducting the review with a single reviewer introduces risk of bias; this needs more discussion or mitigation. Depth of analysis – The paper functions more as a narrative overview than a critical synthesis. A comparative table summarizing included studies, their methods, and outcomes would enhance rigor. Statistical rigor – The manuscript would benefit from more comparative or empirical evidence on how ML methods perform against traditional confounder-control techniques. Scope of ML methods – The focus on LASSO, Ridge, and Random Forests is too narrow. Methods like Elastic Net, boosting, Bayesian models, and double machine learning should be at least acknowledged. Practical recommendations – The discussion should provide clearer guidance for researchers on when to apply DAGs vs. ML approaches, and highlight potential pitfalls (e.g., collider bias, non-collapsibility). Minor comments : Improve figure clarity and align terminology with standard epidemiological usage. The abstract could more clearly emphasize the novel contribution of this review. Recommendation : Accept with major revisions . This article has strong potential but requires expanded methodological detail, deeper comparative analysis, and more practical guidance to maximize its impact. Competing Interests: none Close Report a concern COMMENT ON THIS REPORT Views 0 Cite How to cite this report: Husnain A. Reviewer Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.175391.r368463 ) The direct URL for this report is: https://f1000research.com/articles/14-129/v1#referee-response-368463 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 11 Mar 2025 Ali Husnain , Chicago State University, Chicago, Illinois, USA Approved with Reservations VIEWS 0 https://doi.org/10.5256/f1000research.175391.r368463 This scoping review examines the challenges of confounding in health science research and discusses how machine learning and causal graph approaches can mitigate confounding bias. It highlights traditional confounder control methods such as randomization, matching, and stratification and introduces modern ... Continue reading READ ALL This scoping review examines the challenges of confounding in health science research and discusses how machine learning and causal graph approaches can mitigate confounding bias. It highlights traditional confounder control methods such as randomization, matching, and stratification and introduces modern techniques, including directed acyclic graphs (DAGs), LASSO regression, Ridge regression, and Random Forests. The paper emphasizes that effective control of confounding is crucial for ensuring the validity of causal inferences in epidemiological studies. The author conducted a scoping review of peer-reviewed articles published between 2010 and 2023, using PubMed and Google Scholar. The study follows PRISMA guidelines, with an explicit focus on identifying confounding variables through machine learning models and causal graphs. However, the selection process was conducted by a single reviewer, which introduces potential bias. The paper concludes that emerging computational approaches offer flexibility and adaptability in confounder control but acknowledges that further validation and comparative research are necessary. This article presents a valuable discussion on confounder control using machine learning and causal graphs in health science research. However, to improve scientific rigor and reproducibility, the following revisions are necessary: Enhance methodology transparency by detailing the search strategy, inclusion/exclusion criteria, and study selection process. Improve statistical rigor by adding comparative analyses and empirical evidence on machine learning methods versus traditional confounder control approaches. Strengthen discussion and conclusions by providing clear recommendations for researchers and identifying future research directions. Addressing these concerns will significantly improve the paper’s credibility and contribution to the field. Overall Rating: Revise and Resubmit Are the rationale for, and objectives of, the Systematic Review clearly stated? Yes Are sufficient details of the methods and analysis provided to allow replication by others? Partly Is the statistical analysis and its interpretation appropriate? Partly Are the conclusions drawn adequately supported by the results presented in the review? Partly If this is a Living Systematic Review, is the ‘living’ method appropriate and is the search schedule clearly defined and justified? (‘Living Systematic Review’ or a variation of this term should be included in the title.) Not applicable Competing Interests: No competing interests were disclosed. Reviewer Expertise: Epidemiology & Public HealthMachine Learning in HealthcareBiostatistics & Causal InferenceSystematic Review Methodologies I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Husnain A. Reviewer Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.175391.r368463 ) The direct URL for this report is: https://f1000research.com/articles/14-129/v1#referee-response-368463 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Comments on this article Comments (0) Version 2 VERSION 2 PUBLISHED 27 Jan 2025 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Reviewer Reports Invited Reviewers 1 2 3 Version 2 (revision) 10 Sep 25 read Version 1 27 Jan 25 read read Ali Husnain , Chicago State University, Chicago, USA Vipin Vageriya , Charotar University of Science and Technology, Changa, India Franklin Akwasi Adjei , University of Wyoming, Wyoming, USA Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2025 Adjei F. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 23 Sep 2025 | for Version 2 Franklin Akwasi Adjei , University of Wyoming, Wyoming, USA 0 Views copyright © 2025 Adjei F. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions The manuscript presents a comprehensive scoping review of methods that are used to identify and control confounding variables in health-related research. The rationale for this review is clearly articulated throughout the manuscript. A confounding variable, which is the distortion of the observed relationship between an exposure and an outcome by an external variable, is a significant challenge in observational and experimental studies. The authors stated the need for addressing confounding to avoid biased conclusions, emphasizing that failure to control confounders can lead to both falsely positive and falsely negative results. The review's objectives are clearly stated, supported by practical examples and hypothetical scenarios, such as the relationship between smoking, coffee consumption, and heart disease. These examples are both practical and common, justifying the study's objectives. The manuscript has given sufficient methodological detail to allow replication of the review. The author describes the search strategy comprehensively, including the databases they used and the publication times. The criteria for including and excluding articles were also listed, and PRISMA guidelines were followed. Additionally, the manuscript details the statistical approaches used in the included studies, providing explanations that enable readers to understand, reproduce, and critically evaluate the analytical methods. The statistical analysis and interpretation presented in the manuscript are appropriate and aligned with the objectives of the review. The authors correctly explain the concepts of confounding variables and the implications of failing to adjust for these variables in health-related studies, such as epidemiological ones. The review's conclusions are well supported by the evidence and discussion. The manuscript highlights the importance of accurately identifying confounders, assessing their effects on both exposure and outcome variables, and using suitable control strategies. The authors also recognize limitations, such as potential subjectivity in study selection, the focus on a scoping rather than an in-depth review, and the omission of some machine learning methods that could offer further insights. As a remark, this scoping review has certain limitations that could have been addressed, notably the variability among the included studies. Differences in population characteristics, health outcomes, study designs, and statistical methods make direct comparisons difficult and prevent drawing broad conclusions. Additionally, machine learning and causal inference techniques, including deep learning, causal forests, and boosting, are evolving rapidly, and this may have led to some recent advances being overlooked, thereby creating gaps in the review’s scope. A single author carried out the selection process, which can lead to potential bias or subjectivity in choosing studies. Lastly, since the review broadly covers health science research, the relevance of specific methods can vary across fields like epidemiology, clinical trials, or health services research. Thus, some recommendations may not be fully applicable across all health research domains, limiting their overall generalizability and usefulness. Despite these constraints, the conclusions are grounded in the reviewed evidence, and this makes sure that there is scientific credibility. Are the rationale for, and objectives of, the Systematic Review clearly stated? Yes Are sufficient details of the methods and analysis provided to allow replication by others? Yes Is the statistical analysis and its interpretation appropriate? Yes Are the conclusions drawn adequately supported by the results presented in the review? Yes If this is a Living Systematic Review, is the ‘living’ method appropriate and is the search schedule clearly defined and justified? (‘Living Systematic Review’ or a variation of this term should be included in the title.) Not applicable Competing Interests No competing interests were disclosed. Reviewer Expertise Public health, environmental health I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (0) Adjei FA. Peer Review Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.187911.r411686) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/14-129/v2#referee-response-411686 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2025 Vageriya V. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 08 Sep 2025 | for Version 1 Vipin Vageriya , Charotar University of Science and Technology, Changa, Gujarat, India 0 Views copyright © 2025 Vageriya V. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (2) Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Casual graph approach is important to establish/check the relationship between two variables. DAGs are generally used to model dependencies on variables and workflows, such as task scheduling and data processing. The objective of study is clear. The study conclusion is also significant. I personally believe, it is good paper. The example cited by author are also self-explanatory and easy to understand. Are the rationale for, and objectives of, the Systematic Review clearly stated? Yes Are sufficient details of the methods and analysis provided to allow replication by others? Yes Is the statistical analysis and its interpretation appropriate? I cannot comment. A qualified statistician is required. Are the conclusions drawn adequately supported by the results presented in the review? Yes If this is a Living Systematic Review, is the ‘living’ method appropriate and is the search schedule clearly defined and justified? (‘Living Systematic Review’ or a variation of this term should be included in the title.) Yes Competing Interests No competing interests were disclosed. Reviewer Expertise Child Epilepsy, Growth and Development, Parenting, Child Psychology I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. reply Respond to this report Responses (2) Author Response 12 Sep 2025 Ahmed Hossain, Public Health, North South University, Dhaka, 1229, Bangladesh Thanks View more View less Competing Interests No reply Respond Report a concern Reviewer Response 27 Sep 2025 Ali Husnain, Chicago State University, Chicago, USA This scoping review addresses an important methodological issue in health science research: how to effectively identify and control for confounding variables using both traditional approaches (randomization, matching, stratification) and newer computational methods (machine learning and causal graphs). The topic is timely and relevant, and the manuscript succeeds in explaining complex concepts in an accessible way, supported by clear examples. Strengths Clear rationale and objective for conducting the review. Balanced integration of traditional epidemiological techniques with modern ML-based approaches. Accessible explanations of confounding, DAGs, and ML methods for a broad readership. Timely contribution to the field given the growing use of ML in public health. Areas for Improvement Methodological transparency – The search strategy and inclusion/exclusion criteria should be reported in greater detail for reproducibility. Conducting the review with a single reviewer introduces risk of bias; this needs more discussion or mitigation. Depth of analysis – The paper functions more as a narrative overview than a critical synthesis. A comparative table summarizing included studies, their methods, and outcomes would enhance rigor. Statistical rigor – The manuscript would benefit from more comparative or empirical evidence on how ML methods perform against traditional confounder-control techniques. Scope of ML methods – The focus on LASSO, Ridge, and Random Forests is too narrow. Methods like Elastic Net, boosting, Bayesian models, and double machine learning should be at least acknowledged. Practical recommendations – The discussion should provide clearer guidance for researchers on when to apply DAGs vs. ML approaches, and highlight potential pitfalls (e.g., collider bias, non-collapsibility). Minor comments : Improve figure clarity and align terminology with standard epidemiological usage. The abstract could more clearly emphasize the novel contribution of this review. Recommendation : Accept with major revisions . This article has strong potential but requires expanded methodological detail, deeper comparative analysis, and more practical guidance to maximize its impact. View more View less Competing Interests none reply Respond Report a concern Vageriya V. Peer Review Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.175391.r411684) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/14-129/v1#referee-response-411684 keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2025 Husnain A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 11 Mar 2025 | for Version 1 Ali Husnain , Chicago State University, Chicago, Illinois, USA 0 Views copyright © 2025 Husnain A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Approved With Reservations info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions This scoping review examines the challenges of confounding in health science research and discusses how machine learning and causal graph approaches can mitigate confounding bias. It highlights traditional confounder control methods such as randomization, matching, and stratification and introduces modern techniques, including directed acyclic graphs (DAGs), LASSO regression, Ridge regression, and Random Forests. The paper emphasizes that effective control of confounding is crucial for ensuring the validity of causal inferences in epidemiological studies. The author conducted a scoping review of peer-reviewed articles published between 2010 and 2023, using PubMed and Google Scholar. The study follows PRISMA guidelines, with an explicit focus on identifying confounding variables through machine learning models and causal graphs. However, the selection process was conducted by a single reviewer, which introduces potential bias. The paper concludes that emerging computational approaches offer flexibility and adaptability in confounder control but acknowledges that further validation and comparative research are necessary. This article presents a valuable discussion on confounder control using machine learning and causal graphs in health science research. However, to improve scientific rigor and reproducibility, the following revisions are necessary: Enhance methodology transparency by detailing the search strategy, inclusion/exclusion criteria, and study selection process. Improve statistical rigor by adding comparative analyses and empirical evidence on machine learning methods versus traditional confounder control approaches. Strengthen discussion and conclusions by providing clear recommendations for researchers and identifying future research directions. Addressing these concerns will significantly improve the paper’s credibility and contribution to the field. Overall Rating: Revise and Resubmit Are the rationale for, and objectives of, the Systematic Review clearly stated? Yes Are sufficient details of the methods and analysis provided to allow replication by others? Partly Is the statistical analysis and its interpretation appropriate? Partly Are the conclusions drawn adequately supported by the results presented in the review? Partly If this is a Living Systematic Review, is the ‘living’ method appropriate and is the search schedule clearly defined and justified? (‘Living Systematic Review’ or a variation of this term should be included in the title.) Not applicable Competing Interests No competing interests were disclosed. Reviewer Expertise Epidemiology & Public HealthMachine Learning in HealthcareBiostatistics & Causal InferenceSystematic Review Methodologies I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. reply Respond to this report Responses (0) Husnain A. Peer Review Report For: Utilizing Machine Learning and causal graph approaches to Address Confounding Factors in Health Science Research: A Scoping Review [version 2; peer review: 2 approved, 1 approved with reservations] . F1000Research 2025, 14 :129 ( https://doi.org/10.5256/f1000research.175391.r368463) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/14-129/v1#referee-response-368463 Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "Utilizing Machine Learning and causal graph...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/14-129/v2" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/14-129/v2&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/14-129/v2" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Hossain A'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/14-129/v2/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/14-129", templates : { twitter : "Utilizing Machine Learning and causal graph approaches to Address.... Hossain A, published by " + "@F1000Research" + ", https://f1000research.com/articles/14-129/v2" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/159632/187911") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "187911"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { "414342": 0, "414343": 0, "408590": 0, "408591": 0, "408588": 0, "414348": 0, "408589": 0, "408586": 0, "414346": 0, "408587": 0, "414347": 0, "414344": 0, "408585": 0, "414345": 0, "408592": 0, "411686": 7, "411687": 0, "411684": 6, "411685": 0, "411682": 0, "411683": 0, "411680": 0, "411681": 0, "411688": 0, "411689": 0, "362933": 0, "362932": 0, "362935": 0, "362934": 0, "362931": 0, "362940": 0, "368447": 0, "362937": 0, "362936": 0, "362939": 0, "362938": 0, "413122": 0, "368448": 0, "413121": 0, "368461": 0, "368460": 0, "368463": 12, "368462": 0, "368464": 0, "390893": 0, "390892": 0, "390895": 0, "390894": 0, "390889": 0, "408554": 0, "390891": 0, "390890": 0, "390897": 0, "390896": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "fc8e989d-7fbd-4e87-ad5e-22058599505f"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "
[email protected]", infoEmail: "
[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.