<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      ?PyCausalSim:基于模擬的因果發(fā)現(xiàn)的Python框架

      0
      分享至


      做 A/B 測試或者分析轉(zhuǎn)化率的時候,經(jīng)常會碰到那個老生常談的問題:

      “這數(shù)據(jù)的波動到底是干預(yù)引起的,還是僅僅是相關(guān)性?”

      傳統(tǒng)的分析手段和機器學(xué)習(xí)擅長告訴你什么能預(yù)測結(jié)果,但預(yù)測不等于因果。而在做決策,不管是干預(yù)、優(yōu)化還是調(diào)整業(yè)務(wù)邏輯時,我們需要的是因果關(guān)系。

      今天介紹一下PyCausalSim,這是一個利用模擬方法來挖掘和驗證數(shù)據(jù)中因果關(guān)系的 Python 框架。



      問題:相關(guān)性好找,因果難定

      舉個例子,減少頁面加載時間后轉(zhuǎn)化率漲了,看起來是沒問題的。但這真的是加載速度的功勞嗎?也許同期正好上了新的營銷活動,或者是季節(jié)性效應(yīng),甚至僅僅是競爭對手掛了,又或者只是隨機噪聲。這時候傳統(tǒng)方法往往會失效:

      # WRONG: This doesn't tell you what CAUSES conversions
      from sklearn.ensemble import RandomForestRegressor
      rf = RandomForestRegressor()
      rf.fit(X, y)
      print(rf.feature_importances_) # Tells you what predicts, NOT what causes

      Feature importance 只能告訴你什么能預(yù)測結(jié)果,它搞不定混淆變量(confounders),分不清因果方向,在遇到選擇偏差(selection bias)時也會翻車,因為它給出的僅僅是相關(guān)性。

      PyCausalSim

      PyCausalSim 走的是另一條路。它不光是找數(shù)據(jù)模式,而是:學(xué)習(xí)系統(tǒng)的因果結(jié)構(gòu),模擬反事實場景(Counterfactuals,即“如果……會發(fā)生什么”),然后通過嚴(yán)格的統(tǒng)計檢驗驗證因果假設(shè)。他的工作流程大致如下:

      from pycausalsim import CausalSimulator
      # Initialize with your data
      simulator = CausalSimulator(
      data=df,
      target='conversion_rate',
      treatment_vars=['page_load_time', 'price', 'design_variant'],
      confounders=['traffic_source', 'device_type']
      )
      # Discover causal structure
      simulator.discover_graph(method='ges')
      # Simulate: What if we reduce load time to 2 seconds?
      effect = simulator.simulate_intervention('page_load_time', 2.0)
      print(effect.summary())

      輸出

      Causal Effect Summary
      ==================================================
      Intervention: page_load_time = 2.0
      Original value: 3.71
      Target variable: conversion_rate
      Effect on conversion_rate: +2.3%
      95% CI: [+1.8%, +2.8%]
      P-value: 0.001

      這是真正的因果效應(yīng)估計,不再是簡單的相關(guān)性分析。

      核心因果模擬器 (Core Causal Simulator)

      CausalSimulator 類是整個框架的核心。它負(fù)責(zé)圖發(fā)現(xiàn)(從數(shù)據(jù)中自動學(xué)習(xí)因果結(jié)構(gòu))、干預(yù)模擬(蒙特卡洛模擬反事實結(jié)果)、驅(qū)動因素排序、策略優(yōu)化以及內(nèi)置的驗證模塊(敏感性分析、安慰劑檢驗等)。

      # Rank true causal drivers
      drivers = simulator.rank_drivers()
      for var, effect in drivers:
      print(f"{var}: {effect:+.3f}")
      # Output:
      # page_load_time: +0.150
      # price: -0.120
      # design_variant: +0.030

      營銷歸因 (Marketing Attribution)

      別再只看 Last-touch 歸因了,了解每個渠道的真實增量價值才是最重要的:

      from pycausalsim import MarketingAttribution
      attr = MarketingAttribution(
      data=touchpoint_data,
      conversion_col='converted',
      touchpoint_cols=['email', 'display', 'search', 'social', 'direct']
      )
      # Causal Shapley values for fair attribution
      attr.fit(method='shapley')
      weights = attr.get_attribution()
      # {'search': 0.35, 'email': 0.25, 'social': 0.20, 'display': 0.15, 'direct': 0.05}
      # Optimize budget allocation
      optimal = attr.optimize_budget(total_budget=100000)

      支持的方法包括 Shapley 值(博弈論)、馬爾可夫鏈歸因、Uplift 歸因、邏輯回歸以及傳統(tǒng)的首末次接觸基線。

      A/B 測試分析 (A/B Test Analysis)

      實驗分析不能只靠 t-test,引入因果推斷能做得更深:

      from pycausalsim import ExperimentAnalysis
      exp = ExperimentAnalysis(
      data=ab_test_data,
      treatment='new_feature',
      outcome='engagement',
      covariates=['user_tenure', 'activity_level']
      )
      # Doubly robust estimation (consistent if EITHER model is correct)
      effect = exp.estimate_effect(method='dr')
      print(f"Effect: {effect.estimate:.4f} (p={effect.p_value:.4f})")
      # Analyze heterogeneous effects
      het = exp.analyze_heterogeneity(covariates=['user_tenure'])
      # Who responds differently to the treatment?

      支持簡單均值差分、OLS 協(xié)變量調(diào)整、IPW(逆概率加權(quán))、雙重穩(wěn)?。―oubly Robust / AIPW)以及傾向性評分匹配。

      Uplift 建模

      關(guān)注點在于誰會對干預(yù)產(chǎn)生反應(yīng),而不只是平均效應(yīng)。

      from pycausalsim.uplift import UpliftModeler
      uplift = UpliftModeler(
      data=campaign_data,
      treatment='received_offer',
      outcome='purchased',
      features=['recency', 'frequency', 'monetary']
      )
      uplift.fit(method='two_model')
      # Segment users by predicted response
      segments = uplift.segment_by_effect()

      用戶分層非常直觀:

      • Persuadables— 只有被干預(yù)才轉(zhuǎn)化。這是核心目標(biāo)。
      • Sure Things— 不干預(yù)也會轉(zhuǎn)化。別在這浪費預(yù)算。
      • Lost Causes— 干預(yù)了也沒用。
      • Sleeping Dogs— 干預(yù)反而起反作用。絕對要避開。

      結(jié)構(gòu)因果模型 (Structural Causal Models)

      如果你對系統(tǒng)機制有明確的先驗知識,還可以構(gòu)建顯式的因果模型:

      from pycausalsim.models import StructuralCausalModel
      # Define causal graph
      graph = {
      'revenue': ['demand', 'price'],
      'demand': ['price', 'advertising'],
      'price': [],
      'advertising': []
      }
      scm = StructuralCausalModel(graph=graph)
      scm.fit(data)
      # Generate counterfactuals
      cf = scm.counterfactual(
      intervention={'advertising': 80},
      data=current_data
      )
      # Compute average treatment effect
      ate = scm.ate(
      treatment='price',
      outcome='revenue',
      treatment_value=27,
      control_value=30
      )

      多種發(fā)現(xiàn)算法

      PyCausalSim 集成了多種算法來學(xué)習(xí)因果結(jié)構(gòu),適應(yīng)不同場景:

      • PC(Constraint-based) — 通用,可解釋性強。
      • GES(Score-based) — 搜索效率高,默認(rèn)效果不錯。
      • LiNGAM(Functional) — 處理非高斯數(shù)據(jù)效果好。
      • NOTEARS(Neural) — 神經(jīng)網(wǎng)絡(luò)方法,能處理復(fù)雜關(guān)系。
      • Hybrid(Ensemble) — 通過多種方法的共識來提高穩(wěn)健性。
      # Try different methods
      simulator.discover_graph(method='pc') # Constraint-based
      simulator.discover_graph(method='ges') # Score-based
      simulator.discover_graph(method='notears') # Neural
      simulator.discover_graph(method='hybrid') # Ensemble

      內(nèi)置驗證

      任何因果結(jié)論都得經(jīng)得起推敲。PyCausalSim 內(nèi)置了驗證模塊:

      sensitivity = simulator.validate(variable='page_load_time')
      print(sensitivity.summary())
      # - Confounding bounds at different strengths
      # - Placebo test results
      # - Refutation test results
      # - Robustness value (how much confounding would nullify the effect?)

      安裝

      直接從 GitHub 安裝:

      pip install git+[https://github.com/Bodhi8/pycausalsim.git](https://github.com/Bodhi8/pycausalsim.git)

      或者 clone 到本地:

      git clone [https://github.com/Bodhi8/pycausalsim.git](https://github.com/Bodhi8/pycausalsim.git)
      cd pycausalsim
      pip install -e ".[dev]"

      依賴庫包括 numpy, pandas, scipy, scikit-learn (核心),可視化用到 matplotlib 和 networkx。也可選集成 dowhy 和 econml。

      總結(jié)

      PyCausalSim 的構(gòu)建基于數(shù)十年的因果推斷研究成果:Pearl 的因果框架(結(jié)構(gòu)因果模型、do-calculus)、Rubin 的潛在結(jié)果模型,以及現(xiàn)代機器學(xué)習(xí)方法(NOTEARS, DAG-GNN)和蒙特卡洛模擬。并且它與 DoWhy (Microsoft), EconML (Microsoft) 和 CausalML (Uber) 等生態(tài)系統(tǒng)兼容。

      機器學(xué)習(xí)問“會發(fā)生什么”,因果推斷問“為什么發(fā)生”,而PyCausalSim解決的是“如果……會發(fā)生什么”。

      地址:

      https://avoid.overfit.cn/post/8c1d8e45c56e47bfb49832596e46ecf6

      作者:Brian Curry

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點推薦
      驚人一致!99%的女人玩夠男人后,都會默契地做出這3種行為。

      驚人一致!99%的女人玩夠男人后,都會默契地做出這3種行為。

      荷蘭豆愛健康
      2026-03-07 12:19:26
      終身追殺令生效,什葉派終極殺招,特朗普與內(nèi)塔尼亞胡無處可逃

      終身追殺令生效,什葉派終極殺招,特朗普與內(nèi)塔尼亞胡無處可逃

      健身狂人
      2026-03-06 17:28:14
      哈登喜迎好幫手,騎士這奪冠拼圖終于齊了

      哈登喜迎好幫手,騎士這奪冠拼圖終于齊了

      章蠞戶外
      2026-03-07 11:38:45
      這老師真是絕代美人??!

      這老師真是絕代美人?。?/a>

      東方不敗然多多
      2026-03-01 01:09:31
      妹子給貓定做項鏈,發(fā)貓名卻被判定為違禁詞?一看貓名:真的很少站平臺

      妹子給貓定做項鏈,發(fā)貓名卻被判定為違禁詞?一看貓名:真的很少站平臺

      拜見喵主子
      2026-03-06 12:23:47
      56歲大媽心梗離世,醫(yī)生:吃他汀時除了牛奶,這6種食物盡量少碰

      56歲大媽心梗離世,醫(yī)生:吃他汀時除了牛奶,這6種食物盡量少碰

      岐黃傳人孫大夫
      2026-02-28 22:15:03
      特朗普拒絕收拾爛攤子?對以色列下達(dá)最后通牒,24小時內(nèi)必須執(zhí)行

      特朗普拒絕收拾爛攤子?對以色列下達(dá)最后通牒,24小時內(nèi)必須執(zhí)行

      咣當(dāng)?shù)厍?/span>
      2026-03-06 20:27:02
      中國AI算力暗戰(zhàn):字節(jié)阿里押注英偉達(dá),訊飛全國產(chǎn),百度走雙軌

      中國AI算力暗戰(zhàn):字節(jié)阿里押注英偉達(dá),訊飛全國產(chǎn),百度走雙軌

      劉曠
      2026-03-06 08:53:37
      中東沒結(jié)束,亞太又出問題?朝鮮突發(fā)導(dǎo)彈,特朗普收到一封挑戰(zhàn)書

      中東沒結(jié)束,亞太又出問題?朝鮮突發(fā)導(dǎo)彈,特朗普收到一封挑戰(zhàn)書

      阿校談史
      2026-03-07 11:44:53
      《鏢人》票房超12億,打破14項紀(jì)錄,虧損超2億

      《鏢人》票房超12億,打破14項紀(jì)錄,虧損超2億

      影視高原說
      2026-03-06 07:03:59
      曾經(jīng)全球僅存1株!2016年北京又發(fā)現(xiàn)1株快死的,現(xiàn)在怎樣了?

      曾經(jīng)全球僅存1株!2016年北京又發(fā)現(xiàn)1株快死的,現(xiàn)在怎樣了?

      萬象硬核本尊
      2026-03-06 14:11:42
      全國人大代表黃勇平:不要讓做好研究的人,天天把時間花在申請經(jīng)費上

      全國人大代表黃勇平:不要讓做好研究的人,天天把時間花在申請經(jīng)費上

      上觀新聞
      2026-03-06 22:37:05
      新加坡急了,外長幾乎是拍著桌子,讓中國“尊重”馬六甲的地位。

      新加坡急了,外長幾乎是拍著桌子,讓中國“尊重”馬六甲的地位。

      南權(quán)先生
      2026-01-26 15:41:26
      山西王閻錫山的妹妹,沒來得及跟哥哥逃到臺灣,她的結(jié)局如何?

      山西王閻錫山的妹妹,沒來得及跟哥哥逃到臺灣,她的結(jié)局如何?

      老范談史
      2026-03-03 17:43:41
      倒閉注銷!天津這家33年老清真館,也黃了!?

      倒閉注銷!天津這家33年老清真館,也黃了!?

      天津族
      2026-03-07 07:35:06
      再讀《穆斯林的葬禮》,對茅盾文學(xué)獎的信任崩塌了!

      再讀《穆斯林的葬禮》,對茅盾文學(xué)獎的信任崩塌了!

      難得君
      2026-03-06 13:43:16
      96年王光美為沒錢憂愁不已,忽然看到一只象牙筆筒:它也能換錢?

      96年王光美為沒錢憂愁不已,忽然看到一只象牙筆筒:它也能換錢?

      談古論今歷史有道
      2026-03-07 13:05:03
      回顧70歲老漢慘死家中,胸口紙條寫著:你該死讓你下輩子再玩女人

      回顧70歲老漢慘死家中,胸口紙條寫著:你該死讓你下輩子再玩女人

      談史論天地
      2026-03-06 15:17:43
      補時“50分鐘” 皇馬94分鐘絕殺:丑陋2-1止住2連敗 43歲少帥命硬

      補時“50分鐘” 皇馬94分鐘絕殺:丑陋2-1止住2連敗 43歲少帥命硬

      風(fēng)過鄉(xiāng)
      2026-03-07 06:31:03
      俄媒:蘇萊曼尼繼任者是內(nèi)鬼,確認(rèn)哈梅內(nèi)伊位置,會沒開完就溜了

      俄媒:蘇萊曼尼繼任者是內(nèi)鬼,確認(rèn)哈梅內(nèi)伊位置,會沒開完就溜了

      梁訊
      2026-03-07 04:17:49
      2026-03-07 13:39:00
      deephub incentive-icons
      deephub
      CV NLP和數(shù)據(jù)挖掘知識
      1940文章數(shù) 1456關(guān)注度
      往期回顧 全部

      科技要聞

      OpenClaw爆火,六位"養(yǎng)蝦人"自述與AI共生

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽懵了

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽懵了

      體育要聞

      塔圖姆歸來:凱爾特人的春之綠

      娛樂要聞

      周杰倫田馥甄的“JH戀” 被扒得底朝天

      財經(jīng)要聞

      針對"不敢休、不讓休"怪圈 國家出手了

      汽車要聞

      逃離ICU,上汽通用“止血”企穩(wěn)

      態(tài)度原創(chuàng)

      本地
      時尚
      教育
      游戲
      公開課

      本地新聞

      食味印象|一口入魂!康樂烤肉串起千年絲路香

      這些才是適合普通人的穿搭!搭配腰帶、多穿牛仔褲,簡單舒適

      教育要聞

      兩會速遞|教育部部長:將實施新一輪學(xué)生心理健康促進行動

      鍵鼠不是萬能的神!外媒盤點近年適合用手柄玩的游戲

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關(guān)懷版