Causal inference
stat propensitystat propensitystat aipwstat aipwstat didstat didstat rddstat rddstat ivstat ivstat synthetic_controlstat synthetic_controlstat evaluestat evaluestat mediationstat mediationstat itsstat its

stat propensity <json_X> <json_treatment>


Description

    Propensity score (logistic regression) with the balance of the covariates (standardized mean differences) before and after inverse probability weighting and 1:1 nearest neighbor matching, overlap of the scores

Parameters

    json_X:   The covariates (confounders) - String - required
    json_treatment:   The treatment of each row (0 / 1) - String - required
admin
stat propensity "[[61, 1], [68, 1], [41, 1], [72, 1], [62, 0], [68, 0], [45, 0], [59, 0], [56, 1], [70, 1], [59, 0], [78, 1], [43, 1], [62, 0], [52, 1], [63, 1], [42, 1], [42, 0], [43, 1], [56, 1], [80, 0], [79, 1], [77, 1], [71, 1], [56, 0], [49, 1], [72, 0], [59, 1], [58, 1], [48, 1], [78, 1], [47, 0], [55, 0], [61, 0], [63, 0], [61, 1], [52, 0], [70, 0], [44, 0], [64, 0]]" "[0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0]"
mentdb
{"n": 40, "treated": 25, "untreated": 15, "estimand": "ate", "score_range": {"treated_min": 0.18070524029360546, "treated_max": 0.9557760897682633, "untreated_min": 0.15718968169127978, "untreated_max": 0.8269051693600734}, "iptw": {"effective_sample_size": 30.50689840580141, "max_weight": 3.458671143042201, "trimmed": 0}, "matching": {"pairs": 11, "unmatched_treated": 14, "caliper": 0.26199146423483993, "estimand": "att"}, "balance": [{"covariate": "x0", "smd_before": 0.8093995912390288, "smd_iptw": 0.24857180283707148, "smd_matching": 0.19894760542709122}, {"covariate": "x1", "smd_before": 0.7191373095211757, "smd_iptw": 0.09105550197690745, "smd_matching": -0.18858495879051804}], "balance_rule": "|smd| < 0.1 = balanced"}

stat propensity <json_X> <json_treatment> <json_params>


Description

    Propensity score analysis with parameters: outcome (the values: the naive, weighted and matched effects with their intervals), estimand (ate or att), method (iptw, matching or both), stabilized (true), trim (drop the scores < trim or > 1 - trim), caliper (0.2 sd of the logit of the score), bootstrap (resamples of the IPTW effect, the score estimated again), seed, level, return_scores

Parameters

    json_X:   The covariates - String - required
    json_treatment:   The treatment - String - required
    json_params:   The parameters - String - required
admin
stat propensity "[[61, 1], [68, 1], [41, 1], [72, 1], [62, 0], [68, 0], [45, 0], [59, 0], [56, 1], [70, 1], [59, 0], [78, 1], [43, 1], [62, 0], [52, 1], [63, 1], [42, 1], [42, 0], [43, 1], [56, 1], [80, 0], [79, 1], [77, 1], [71, 1], [56, 0], [49, 1], [72, 0], [59, 1], [58, 1], [48, 1], [78, 1], [47, 0], [55, 0], [61, 0], [63, 0], [61, 1], [52, 0], [70, 0], [44, 0], [64, 0]]" "[0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0]" "{\"outcome\": [12.7, 18.6, 8.3, 18.1, 13.0, 14.6, 13.5, 13.8, 14.4, 16.8, 12.2, 19.3, 11.6, 13.3, 12.6, 18.4, 13.0, 8.3, 11.1, 13.8, 17.0, 17.2, 17.8, 16.2, 7.7, 10.8, 12.1, 15.2, 13.1, 13.1, 19.3, 7.3, 12.4, 15.9, 12.9, 15.9, 12.0, 13.9, 9.1, 13.3]}"
mentdb
{"n": 40, "treated": 25, "untreated": 15, "estimand": "ate", "score_range": {"treated_min": 0.18070524029360546, "treated_max": 0.9557760897682633, "untreated_min": 0.15718968169127978, "untreated_max": 0.8269051693600734}, "naive": {"difference": 3.7226666666666635, "se": 0.7915747155956728, "lower": 2.1712087330266083, "upper": 5.274124600306719, "p_value": 2.565397944298553E-6}, "iptw": {"effective_sample_size": 30.50689840580141, "max_weight": 3.458671143042201, "trimmed": 0, "effect": {"difference": 2.181721286959, "se": 0.9089807921594071, "lower": 0.4001516716878739, "upper": 3.9632909022301264, "p_value": 0.016386825915636782}}, "matching": {"pairs": 11, "unmatched_treated": 14, "caliper": 0.26199146423483993, "estimand": "att", "effect": {"difference": 1.5818181818181816, "se": 1.0216580269184705, "lower": -0.42059475545827363, "upper": 3.5842311190946368, "p_value": 0.12155360390696668}}, "balance": [{"covariate": "x0", "smd_before": 0.8093995912390288, "smd_iptw": 0.24857180283707148, "smd_matching": 0.19894760542709122}, {"covariate": "x1", "smd_before": 0.7191373095211757, "smd_iptw": 0.09105550197690745, "smd_matching": -0.18858495879051804}], "balance_rule": "|smd| < 0.1 = balanced"}
Used in use cases (1 recipe)

    Epidemiologist › Observational study: effect of a treatment with a propensity score

stat aipw <json_X> <json_treatment> <json_outcome>


Description

    Doubly robust effect (AIPW): propensity score and outcome regressions combined; consistent if one of the two models is right; influence function standard error

Parameters

    json_X:   The confounders - String - required
    json_treatment:   The treatment (0 / 1) - String - required
    json_outcome:   The outcome - String - required
admin
stat aipw "[[49, 1], [50, 0], [41, 1], [73, 0], [70, 1], [69, 1], [73, 1], [54, 0], [66, 0], [78, 1], [46, 1], [54, 1], [71, 0], [66, 1], [48, 0], [72, 0], [76, 1], [55, 1], [56, 0], [79, 0], [41, 1], [49, 1], [56, 0], [43, 0], [61, 0], [79, 0], [77, 1], [54, 1], [73, 0], [75, 0], [79, 1], [72, 0], [44, 1], [44, 1], [73, 1], [44, 0], [64, 0], [79, 0], [53, 1], [65, 0], [77, 1], [79, 1], [70, 1], [71, 1], [44, 1], [52, 1], [55, 1], [57, 1], [60, 0], [51, 1], [65, 1], [51, 1], [50, 0], [73, 0], [71, 0], [80, 0], [45, 0], [75, 1], [44, 1], [42, 0]]" "[1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0]" "[13.7, 10.4, 9.9, 15.8, 13.1, 16.8, 15.2, 13.0, 15.3, 17.8, 12.4, 13.6, 15.0, 17.2, 10.3, 17.8, 17.0, 16.2, 11.9, 16.2, 11.7, 13.3, 11.6, 10.8, 10.0, 16.4, 15.0, 13.4, 13.5, 13.9, 17.8, 16.7, 10.9, 9.5, 17.3, 11.8, 13.6, 14.9, 12.3, 12.7, 16.7, 19.3, 13.7, 13.9, 14.1, 13.5, 11.5, 12.0, 16.4, 13.1, 13.4, 16.9, 11.0, 14.6, 14.0, 14.4, 11.8, 15.9, 10.5, 9.0]"
mentdb
{"n": 60, "ate": {"estimate": 1.4489245905902026, "se": 0.7592721054490469, "lower": -0.03922139055582741, "upper": 2.937070571736233, "p_value": 0.056351494898887466}, "outcome_regression_only": 2.0062333143873707, "method": "AIPW: logistic propensity + linear outcome models, influence function standard error"}
Complete: a patient table -> confounders, treatment, outcome -> doubly robust effect
admin
-> "[rows]" "[{\"age\": 49, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.7}, {\"age\": 50, \"smoker\": 0, \"treated\": 0, \"outcome\": 10.4}, {\"age\": 41, \"smoker\": 1, \"treated\": 0, \"outcome\": 9.9}, {\"age\": 73, \"smoker\": 0, \"treated\": 1, \"outcome\": 15.8}, {\"age\": 70, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.1}, {\"age\": 69, \"smoker\": 1, \"treated\": 1, \"outcome\": 16.8}, {\"age\": 73, \"smoker\": 1, \"treated\": 1, \"outcome\": 15.2}, {\"age\": 54, \"smoker\": 0, \"treated\": 0, \"outcome\": 13.0}, {\"age\": 66, \"smoker\": 0, \"treated\": 1, \"outcome\": 15.3}, {\"age\": 78, \"smoker\": 1, \"treated\": 1, \"outcome\": 17.8}, {\"age\": 46, \"smoker\": 1, \"treated\": 0, \"outcome\": 12.4}, {\"age\": 54, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.6}, {\"age\": 71, \"smoker\": 0, \"treated\": 1, \"outcome\": 15.0}, {\"age\": 66, \"smoker\": 1, \"treated\": 1, \"outcome\": 17.2}, {\"age\": 48, \"smoker\": 0, \"treated\": 0, \"outcome\": 10.3}, {\"age\": 72, \"smoker\": 0, \"treated\": 1, \"outcome\": 17.8}, {\"age\": 76, \"smoker\": 1, \"treated\": 1, \"outcome\": 17.0}, {\"age\": 55, \"smoker\": 1, \"treated\": 1, \"outcome\": 16.2}, {\"age\": 56, \"smoker\": 0, \"treated\": 0, \"outcome\": 11.9}, {\"age\": 79, \"smoker\": 0, \"treated\": 1, \"outcome\": 16.2}, {\"age\": 41, \"smoker\": 1, \"treated\": 0, \"outcome\": 11.7}, {\"age\": 49, \"smoker\": 1, \"treated\": 0, \"outcome\": 13.3}, {\"age\": 56, \"smoker\": 0, \"treated\": 0, \"outcome\": 11.6}, {\"age\": 43, \"smoker\": 0, \"treated\": 0, \"outcome\": 10.8}, {\"age\": 61, \"smoker\": 0, \"treated\": 0, \"outcome\": 10.0}, {\"age\": 79, \"smoker\": 0, \"treated\": 1, \"outcome\": 16.4}, {\"age\": 77, \"smoker\": 1, \"treated\": 1, \"outcome\": 15.0}, {\"age\": 54, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.4}, {\"age\": 73, \"smoker\": 0, \"treated\": 1, \"outcome\": 13.5}, {\"age\": 75, \"smoker\": 0, \"treated\": 1, \"outcome\": 13.9}, {\"age\": 79, \"smoker\": 1, \"treated\": 1, \"outcome\": 17.8}, {\"age\": 72, \"smoker\": 0, \"treated\": 1, \"outcome\": 16.7}, {\"age\": 44, \"smoker\": 1, \"treated\": 0, \"outcome\": 10.9}, {\"age\": 44, \"smoker\": 1, \"treated\": 0, \"outcome\": 9.5}, {\"age\": 73, \"smoker\": 1, \"treated\": 1, \"outcome\": 17.3}, {\"age\": 44, \"smoker\": 0, \"treated\": 0, \"outcome\": 11.8}, {\"age\": 64, \"smoker\": 0, \"treated\": 0, \"outcome\": 13.6}, {\"age\": 79, \"smoker\": 0, \"treated\": 1, \"outcome\": 14.9}, {\"age\": 53, \"smoker\": 1, \"treated\": 0, \"outcome\": 12.3}, {\"age\": 65, \"smoker\": 0, \"treated\": 0, \"outcome\": 12.7}, {\"age\": 77, \"smoker\": 1, \"treated\": 1, \"outcome\": 16.7}, {\"age\": 79, \"smoker\": 1, \"treated\": 1, \"outcome\": 19.3}, {\"age\": 70, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.7}, {\"age\": 71, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.9}, {\"age\": 44, \"smoker\": 1, \"treated\": 0, \"outcome\": 14.1}, {\"age\": 52, \"smoker\": 1, \"treated\": 1, \"outcome\": 13.5}, {\"age\": 55, \"smoker\": 1, \"treated\": 0, \"outcome\": 11.5}, {\"age\": 57, \"smoker\": 1, \"treated\": 0, \"outcome\": 12.0}, {\"age\": 60, \"smoker\": 0, \"treated\": 1, \"outcome\": 16.4}, {\"age\": 51, \"smoker\": 1, \"treated\": 0, \"outcome\": 13.1}, {\"age\": 65, \"smoker\": 1, \"treated\": 0, \"outcome\": 13.4}, {\"age\": 51, \"smoker\": 1, \"treated\": 1, \"outcome\": 16.9}, {\"age\": 50, \"smoker\": 0, \"treated\": 0, \"outcome\": 11.0}, {\"age\": 73, \"smoker\": 0, \"treated\": 1, \"outcome\": 14.6}, {\"age\": 71, \"smoker\": 0, \"treated\": 1, \"outcome\": 14.0}, {\"age\": 80, \"smoker\": 0, \"treated\": 1, \"outcome\": 14.4}, {\"age\": 45, \"smoker\": 0, \"treated\": 0, \"outcome\": 11.8}, {\"age\": 75, \"smoker\": 1, \"treated\": 0, \"outcome\": 15.9}, {\"age\": 44, \"smoker\": 1, \"treated\": 0, \"outcome\": 10.5}, {\"age\": 42, \"smoker\": 0, \"treated\": 0, \"outcome\": 9.0}]"; json load "tuto_a" (stat aipw (ml prep matrix [rows] "[\"age\", \"smoker\"]") (ml prep vector [rows] "treated") (ml prep vector [rows] "outcome")); -> "[res]" (concat "effect " (math round (json select "tuto_a" "/ate/estimate") 2) " [" (math round (json select "tuto_a" "/ate/lower") 2) ", " (math round (json select "tuto_a" "/ate/upper") 2) "]"); json unload "tuto_a"; [res]
mentdb
effect 1.45 [-0.04, 2.94]

stat aipw <json_X> <json_treatment> <json_outcome> <json_params>


Description

    AIPW with parameters: trim (bounds of the scores, 0.01), level

Parameters

    json_X:   The confounders - String - required
    json_treatment:   The treatment - String - required
    json_outcome:   The outcome - String - required
    json_params:   The parameters - String - required
admin
stat aipw "[[49, 1], [50, 0], [41, 1], [73, 0], [70, 1], [69, 1], [73, 1], [54, 0], [66, 0], [78, 1], [46, 1], [54, 1], [71, 0], [66, 1], [48, 0], [72, 0], [76, 1], [55, 1], [56, 0], [79, 0], [41, 1], [49, 1], [56, 0], [43, 0], [61, 0], [79, 0], [77, 1], [54, 1], [73, 0], [75, 0], [79, 1], [72, 0], [44, 1], [44, 1], [73, 1], [44, 0], [64, 0], [79, 0], [53, 1], [65, 0], [77, 1], [79, 1], [70, 1], [71, 1], [44, 1], [52, 1], [55, 1], [57, 1], [60, 0], [51, 1], [65, 1], [51, 1], [50, 0], [73, 0], [71, 0], [80, 0], [45, 0], [75, 1], [44, 1], [42, 0]]" "[1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0]" "[13.7, 10.4, 9.9, 15.8, 13.1, 16.8, 15.2, 13.0, 15.3, 17.8, 12.4, 13.6, 15.0, 17.2, 10.3, 17.8, 17.0, 16.2, 11.9, 16.2, 11.7, 13.3, 11.6, 10.8, 10.0, 16.4, 15.0, 13.4, 13.5, 13.9, 17.8, 16.7, 10.9, 9.5, 17.3, 11.8, 13.6, 14.9, 12.3, 12.7, 16.7, 19.3, 13.7, 13.9, 14.1, 13.5, 11.5, 12.0, 16.4, 13.1, 13.4, 16.9, 11.0, 14.6, 14.0, 14.4, 11.8, 15.9, 10.5, 9.0]" "{\"trim\": 0.05}"
mentdb
{"n": 60, "ate": {"estimate": 1.7973320371022736, "se": 0.458066623252642, "lower": 0.8995379530072176, "upper": 2.6951261211973296, "p_value": 8.71866407272659E-5}, "outcome_regression_only": 2.0062333143873707, "method": "AIPW: logistic propensity + linear outcome models, influence function standard error"}
Used in use cases (1 recipe)

    Epidemiologist › Effect of a treatment in observational data: doubly robust estimate and E-value
Often used with

    math exp  ·  stat evalue  ·  stat stddev

stat did <json_outcome> <json_group> <json_post>


Description

    Difference in differences: effect of a change on the treated group against the control group, before and after (interaction term), robust standard error, the 4 means

Parameters

    json_outcome:   The outcome - String - required
    json_group:   1 = treated group - String - required
    json_post:   1 = after the change - String - required
admin
stat did "[9.5, 12.2, 12.9, 17.4, 9.8, 11.7, 11.6, 19.8, 9.4, 13.7, 11.5, 18.9, 9.8, 12.1, 12.4, 19.6, 9.2, 13.7, 12.1, 18.6, 10.1, 13.8, 12.7, 20.5, 10.3, 13.2, 10.5, 18.4, 10.6, 11.9, 11.0, 20.8, 9.9, 11.9, 9.8, 18.1, 12.3, 13.0, 12.6, 19.7]" "[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]" "[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1]"
mentdb
{"n": 40, "effect": {"estimate": 4.840000000000018, "se": 0.6100091074001365, "lower": 3.6444041192543244, "upper": 6.035595880745711, "p_value": 2.220446049250313E-15}, "means": {"control_before": 10.09, "control_after": 11.709999999999999, "treated_before": 12.72, "treated_after": 19.18}, "se": "robust HC1"}

stat did <json_outcome> <json_group> <json_post> <json_params>


Description

    Difference in differences with parameters: X (covariates), cluster (labels: clustered standard errors), level

Parameters

    json_outcome:   The outcome - String - required
    json_group:   The group - String - required
    json_post:   The period - String - required
    json_params:   The parameters - String - required
admin
stat did "[9.5, 12.2, 12.9, 17.4, 9.8, 11.7, 11.6, 19.8, 9.4, 13.7, 11.5, 18.9, 9.8, 12.1, 12.4, 19.6, 9.2, 13.7, 12.1, 18.6, 10.1, 13.8, 12.7, 20.5, 10.3, 13.2, 10.5, 18.4, 10.6, 11.9, 11.0, 20.8, 9.9, 11.9, 9.8, 18.1, 12.3, 13.0, 12.6, 19.7]" "[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]" "[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1]" "{\"cluster\": [\"u0\", \"u1\", \"u2\", \"u3\", \"u4\", \"u5\", \"u6\", \"u7\", \"u8\", \"u9\", \"u0\", \"u1\", \"u2\", \"u3\", \"u4\", \"u5\", \"u6\", \"u7\", \"u8\", \"u9\", \"u0\", \"u1\", \"u2\", \"u3\", \"u4\", \"u5\", \"u6\", \"u7\", \"u8\", \"u9\", \"u0\", \"u1\", \"u2\", \"u3\", \"u4\", \"u5\", \"u6\", \"u7\", \"u8\", \"u9\"]}"
mentdb
{"n": 40, "effect": {"estimate": 4.840000000000018, "se": 0.5056349144063003, "lower": 3.848973778437676, "upper": 5.831026221562359, "p_value": 0}, "means": {"control_before": 10.09, "control_after": 11.709999999999999, "treated_before": 12.72, "treated_after": 19.18}, "se": "clustered"}

stat rdd <json_running> <json_outcome> <cutoff>


Description

    Sharp regression discontinuity: local linear regressions on each side of the cutoff (triangular kernel), jump at the cutoff with its robust standard error

Parameters

    json_running:   The running variable - String - required
    json_outcome:   The outcome - String - required
    cutoff:   The cutoff - Number - required
admin
stat rdd "[-0.18, -0.66, 0.52, -0.88, 0.77, 0.17, 0.23, -0.17, 0.87, 0.16, 0.79, 0.85, 0.38, 0.97, -0.02, -0.27, 0.69, 0.06, -0.38, 0.36, -0.05, -0.74, 0.68, -0.0, 0.94, 0.07, 0.87, -0.42, -0.57, 0.05, 0.53, 0.65, 0.29, -0.75, -0.21, -0.93, -0.26, 0.89, -0.31, 0.4, 0.24, -0.71, 0.38, -0.84, -0.63, 0.16, -0.75, 0.93, -0.15, 0.26, 0.93, -0.78, 1.0, -0.92, 0.2, 0.31, 0.97, -0.28, 0.89, 0.3, -0.05, -0.66, -0.53, -0.27, -0.31, -0.26, 0.62, -0.25, 0.26, -0.92, -0.72, 0.42, 0.78, -0.37, -0.94, -0.53, -0.28, -0.27, 0.12, -0.4]" "[0.38, -0.03, 4.43, -0.24, 4.05, 3.89, 4.34, 0.57, 4.78, 3.66, 3.99, 4.0, 3.93, 4.11, 0.27, 0.48, 3.91, 4.55, 0.27, 4.33, 0.51, 1.05, 4.26, 3.7, 5.04, 4.77, 5.19, 1.26, 0.73, 3.68, 4.01, 4.04, 4.39, 0.4, 1.0, 0.63, 0.8, 4.11, 0.31, 5.46, 4.05, -0.17, 3.55, 0.25, 1.6, 4.14, 0.16, 5.33, -0.02, 4.69, 5.87, 0.61, 4.99, 0.88, 2.65, 4.32, 4.19, -0.53, 4.88, 3.86, 1.14, 0.89, 0.43, -0.32, 0.61, 0.47, 3.71, 0.46, 4.12, 1.31, 0.68, 4.32, 4.92, 1.04, 0.41, 0.4, 0.25, 1.33, 4.01, 1.41]" 0
mentdb
{"cutoff": 0, "bandwidth": 0.44513510765291575, "kernel": "triangular", "left": 21, "right": 21, "effect": {"estimate": 3.432310454152141, "se": 0.32928677418051905, "lower": 2.78692023617295, "upper": 4.077700672131332, "p_value": 0}, "slope_left": 0.2207816399682656, "slope_right": 0.4319678002645304}

stat rdd <json_running> <json_outcome> <cutoff> <json_params>


Description

    Regression discontinuity with parameters: bandwidth (else 1.84 sd n^(-1/5)), kernel (triangular, uniform), level

Parameters

    json_running:   The running variable - String - required
    json_outcome:   The outcome - String - required
    cutoff:   The cutoff - Number - required
    json_params:   The parameters - String - required
admin
stat rdd "[-0.18, -0.66, 0.52, -0.88, 0.77, 0.17, 0.23, -0.17, 0.87, 0.16, 0.79, 0.85, 0.38, 0.97, -0.02, -0.27, 0.69, 0.06, -0.38, 0.36, -0.05, -0.74, 0.68, -0.0, 0.94, 0.07, 0.87, -0.42, -0.57, 0.05, 0.53, 0.65, 0.29, -0.75, -0.21, -0.93, -0.26, 0.89, -0.31, 0.4, 0.24, -0.71, 0.38, -0.84, -0.63, 0.16, -0.75, 0.93, -0.15, 0.26, 0.93, -0.78, 1.0, -0.92, 0.2, 0.31, 0.97, -0.28, 0.89, 0.3, -0.05, -0.66, -0.53, -0.27, -0.31, -0.26, 0.62, -0.25, 0.26, -0.92, -0.72, 0.42, 0.78, -0.37, -0.94, -0.53, -0.28, -0.27, 0.12, -0.4]" "[0.38, -0.03, 4.43, -0.24, 4.05, 3.89, 4.34, 0.57, 4.78, 3.66, 3.99, 4.0, 3.93, 4.11, 0.27, 0.48, 3.91, 4.55, 0.27, 4.33, 0.51, 1.05, 4.26, 3.7, 5.04, 4.77, 5.19, 1.26, 0.73, 3.68, 4.01, 4.04, 4.39, 0.4, 1.0, 0.63, 0.8, 4.11, 0.31, 5.46, 4.05, -0.17, 3.55, 0.25, 1.6, 4.14, 0.16, 5.33, -0.02, 4.69, 5.87, 0.61, 4.99, 0.88, 2.65, 4.32, 4.19, -0.53, 4.88, 3.86, 1.14, 0.89, 0.43, -0.32, 0.61, 0.47, 3.71, 0.46, 4.12, 1.31, 0.68, 4.32, 4.92, 1.04, 0.41, 0.4, 0.25, 1.33, 4.01, 1.41]" 0 "{\"bandwidth\": 0.5}"
mentdb
{"cutoff": 0, "bandwidth": 0.5, "kernel": "triangular", "left": 21, "right": 21, "effect": {"estimate": 3.454214080656926, "se": 0.32535292944777605, "lower": 2.8165340566746835, "upper": 4.091894104639168, "p_value": 0}, "slope_left": -0.0647010422755585, "slope_right": 0.5948624767611363}

stat iv <json_outcome> <json_endogenous> <json_instruments>


Description

    Instrumental variables (2SLS): effect of an endogenous variable with robust standard errors, first stage F (weak instruments), Durbin-Wu-Hausman test, Sargan test when over-identified

Parameters

    json_outcome:   The outcome - String - required
    json_endogenous:   The endogenous variables (rows) - String - required
    json_instruments:   The instruments (rows) - String - required
admin
stat iv "[-0.81, -2.2, -4.97, 7.26, -7.25, -6.14, -0.36, 6.46, -3.81, 6.16, 7.09, 4.42, -3.9, 1.14, 10.52, -3.43, 0.58, -1.88, 3.56, 5.61, 1.92, -10.13, -6.42, 0.11, 7.27, -4.98, -2.59, -6.67, -3.63, -5.83, -5.07, -1.75, 1.24, -3.91, -0.67, -3.59, 1.18, 9.79, -2.78, -8.51, 2.54, -2.7, 0.97, -3.0, -0.62, 4.88, 0.73, 5.97, 3.09, -1.8, 3.19, -5.72, -13.86, -10.16, 0.98, 7.91, -3.87, 5.27, 5.15, 6.8]" "[[-1.03], [-0.3], [-1.72], [1.56], [-3.04], [-1.16], [-0.16], [1.31], [-1.42], [1.52], [2.66], [0.36], [-1.51], [0.88], [3.4], [-2.28], [0.11], [-1.1], [-0.1], [2.0], [0.84], [-3.33], [-2.57], [-0.52], [1.66], [-1.67], [-1.3], [-2.26], [-2.17], [-2.41], [-2.2], [-0.98], [-0.39], [-1.3], [-1.18], [-2.08], [-0.37], [3.21], [-2.08], [-3.91], [0.37], [-1.85], [0.27], [-0.82], [0.16], [1.61], [0.51], [2.04], [0.5], [-0.99], [1.49], [-2.43], [-3.95], [-4.24], [0.16], [1.26], [-1.2], [2.73], [0.54], [1.91]]" "[[-0.81], [-0.2], [1.16], [-0.57], [-2.08], [1.81], [-0.69], [0.39], [-0.55], [-0.11], [0.11], [-1.38], [0.92], [-1.26], [0.52], [-0.97], [-0.38], [-0.64], [-0.5], [0.63], [2.41], [0.16], [-0.44], [-1.08], [1.68], [1.41], [-0.77], [0.56], [-0.59], [-1.5], [-0.2], [-0.57], [0.45], [-0.29], [-0.29], [-0.94], [0.51], [1.56], [-0.85], [-1.45], [-0.45], [-0.75], [0.5], [2.22], [-1.28], [-0.22], [0.58], [0.5], [-0.77], [-0.9], [2.17], [-1.3], [-0.53], [-0.97], [0.18], [1.2], [0.46], [2.0], [-0.27], [0.78]]"
mentdb
{"n": 60, "coefficients": [{"term": "intercept", "effect": {"estimate": 0.6021444813121947, "se": 0.32819489131649604, "lower": -0.041105685578174844, "upper": 1.2453946482025642, "p_value": 0.06654775183077999}}, {"term": "endogenous_0", "effect": {"estimate": 2.1271761453535483, "se": 0.31585561774962007, "lower": 1.5081105102496428, "upper": 2.7462417804574537, "p_value": 1.6432855076686792E-11}}], "first_stage": [{"endogenous": 0, "f": 15.22723049992876, "p_value": 2.506310335679274E-4, "strength": "strong (F >= 10)"}], "hausman_p_value": 0.001590393780874777, "hausman_rule": "p < 0.05: the regressor is endogenous, OLS is biased"}

stat iv <json_outcome> <json_endogenous> <json_instruments> <json_params>


Description

    Instrumental variables with parameters: X (exogenous controls), level

Parameters

    json_outcome:   The outcome - String - required
    json_endogenous:   The endogenous variables - String - required
    json_instruments:   The instruments - String - required
    json_params:   The parameters - String - required
admin
stat iv "[-0.81, -2.2, -4.97, 7.26, -7.25, -6.14, -0.36, 6.46, -3.81, 6.16, 7.09, 4.42, -3.9, 1.14, 10.52, -3.43, 0.58, -1.88, 3.56, 5.61, 1.92, -10.13, -6.42, 0.11, 7.27, -4.98, -2.59, -6.67, -3.63, -5.83, -5.07, -1.75, 1.24, -3.91, -0.67, -3.59, 1.18, 9.79, -2.78, -8.51, 2.54, -2.7, 0.97, -3.0, -0.62, 4.88, 0.73, 5.97, 3.09, -1.8, 3.19, -5.72, -13.86, -10.16, 0.98, 7.91, -3.87, 5.27, 5.15, 6.8]" "[[-1.03], [-0.3], [-1.72], [1.56], [-3.04], [-1.16], [-0.16], [1.31], [-1.42], [1.52], [2.66], [0.36], [-1.51], [0.88], [3.4], [-2.28], [0.11], [-1.1], [-0.1], [2.0], [0.84], [-3.33], [-2.57], [-0.52], [1.66], [-1.67], [-1.3], [-2.26], [-2.17], [-2.41], [-2.2], [-0.98], [-0.39], [-1.3], [-1.18], [-2.08], [-0.37], [3.21], [-2.08], [-3.91], [0.37], [-1.85], [0.27], [-0.82], [0.16], [1.61], [0.51], [2.04], [0.5], [-0.99], [1.49], [-2.43], [-3.95], [-4.24], [0.16], [1.26], [-1.2], [2.73], [0.54], [1.91]]" "[[-0.81], [-0.2], [1.16], [-0.57], [-2.08], [1.81], [-0.69], [0.39], [-0.55], [-0.11], [0.11], [-1.38], [0.92], [-1.26], [0.52], [-0.97], [-0.38], [-0.64], [-0.5], [0.63], [2.41], [0.16], [-0.44], [-1.08], [1.68], [1.41], [-0.77], [0.56], [-0.59], [-1.5], [-0.2], [-0.57], [0.45], [-0.29], [-0.29], [-0.94], [0.51], [1.56], [-0.85], [-1.45], [-0.45], [-0.75], [0.5], [2.22], [-1.28], [-0.22], [0.58], [0.5], [-0.77], [-0.9], [2.17], [-1.3], [-0.53], [-0.97], [0.18], [1.2], [0.46], [2.0], [-0.27], [0.78]]" "{\"level\": 0.9}"
mentdb
{"n": 60, "coefficients": [{"term": "intercept", "effect": {"estimate": 0.6021444813121947, "se": 0.32819489131649604, "lower": 0.06231192398331187, "upper": 1.1419770386410775, "p_value": 0.06654775183077999}}, {"term": "endogenous_0", "effect": {"estimate": 2.1271761453535483, "se": 0.31585561774962007, "lower": 1.6076398869050879, "upper": 2.6467124038020087, "p_value": 1.6432855076686792E-11}}], "first_stage": [{"endogenous": 0, "f": 15.22723049992876, "p_value": 2.506310335679274E-4, "strength": "strong (F >= 10)"}], "hausman_p_value": 0.001590393780874777, "hausman_rule": "p < 0.05: the regressor is endogenous, OLS is biased"}

stat synthetic_control <json_treated> <json_donors> <pre_periods>


Description

    Synthetic control (Abadie): convex weights of the donors that reproduce the treated unit before the intervention, effect after it (gap), RMSPE ratio and in-space placebo p-value

Parameters

    json_treated:   The series of the treated unit - String - required
    json_donors:   The donor series (one row per period) - String - required
    pre_periods:   The number of periods before the intervention - Number - required
admin
stat synthetic_control "[8.34, 8.1, 9.17, 9.09, 9.46, 9.16, 10.38, 10.29, 11.06, 10.48, 16.94, 16.89, 17.87, 17.99, 18.42, 18.82]" "[[10.69, 4.61, 19.8], [10.2, 5.12, 20.4], [10.87, 5.95, 19.82], [10.66, 6.66, 19.65], [11.21, 7.31, 19.66], [11.32, 7.24, 18.98], [11.21, 8.46, 18.83], [11.54, 8.58, 17.98], [12.62, 8.91, 18.14], [11.85, 9.0, 17.93], [12.82, 10.16, 18.17], [13.12, 10.68, 17.47], [13.84, 10.93, 18.09], [13.93, 11.06, 17.27], [14.37, 11.55, 17.45], [14.18, 13.15, 17.0]]" 10
mentdb
{"weights": {"donor0": 0.5732353702628035, "donor1": 0.420916019422717, "donor2": 0.005848610314479577}, "att": 5.1224106154839735, "pre_rmspe": 0.22752377275497582, "post_rmspe": 5.125200333955019, "rmspe_ratio": 22.525999247887093, "placebo_p_value": 0.25, "synthetic": [8.18411144187479, 8.121402446540289, 8.851438246754826, 9.028914929036304, 9.617848281408756, 9.64746299576423, 10.097047357183863, 10.331753632934007, 11.090685896877646, 10.685948895357292, 11.731653453518039, 12.118406367476556, 12.639990977316433, 12.741505382707166, 13.201030544996536, 13.762949581081434], "gap": [0.1558885581252092, -0.021402446540289333, 0.31856175324517366, 0.06108507096369564, -0.1578482814087554, -0.48746299576422913, 0.28295264281613797, -0.041753632934007356, -0.030685896877646, -0.20594889535729166, 5.2083465464819625, 4.7715936325234445, 5.230009022683568, 5.248494617292833, 5.2189694550034655, 5.057050418918566]}

stat synthetic_control <json_treated> <json_donors> <pre_periods> <json_params>


Description

    Synthetic control with parameters: names (of the donors)

Parameters

    json_treated:   The treated series - String - required
    json_donors:   The donors - String - required
    pre_periods:   The pre periods - Number - required
    json_params:   The parameters - String - required
admin
stat synthetic_control "[8.34, 8.1, 9.17, 9.09, 9.46, 9.16, 10.38, 10.29, 11.06, 10.48, 16.94, 16.89, 17.87, 17.99, 18.42, 18.82]" "[[10.69, 4.61, 19.8], [10.2, 5.12, 20.4], [10.87, 5.95, 19.82], [10.66, 6.66, 19.65], [11.21, 7.31, 19.66], [11.32, 7.24, 18.98], [11.21, 8.46, 18.83], [11.54, 8.58, 17.98], [12.62, 8.91, 18.14], [11.85, 9.0, 17.93], [12.82, 10.16, 18.17], [13.12, 10.68, 17.47], [13.84, 10.93, 18.09], [13.93, 11.06, 17.27], [14.37, 11.55, 17.45], [14.18, 13.15, 17.0]]" 10 "{\"names\": [\"Lyon\", \"Lille\", \"Nice\"]}"
mentdb
{"weights": {"Lyon": 0.5732353702628035, "Lille": 0.420916019422717, "Nice": 0.005848610314479577}, "att": 5.1224106154839735, "pre_rmspe": 0.22752377275497582, "post_rmspe": 5.125200333955019, "rmspe_ratio": 22.525999247887093, "placebo_p_value": 0.25, "synthetic": [8.18411144187479, 8.121402446540289, 8.851438246754826, 9.028914929036304, 9.617848281408756, 9.64746299576423, 10.097047357183863, 10.331753632934007, 11.090685896877646, 10.685948895357292, 11.731653453518039, 12.118406367476556, 12.639990977316433, 12.741505382707166, 13.201030544996536, 13.762949581081434], "gap": [0.1558885581252092, -0.021402446540289333, 0.31856175324517366, 0.06108507096369564, -0.1578482814087554, -0.48746299576422913, 0.28295264281613797, -0.041753632934007356, -0.030685896877646, -0.20594889535729166, 5.2083465464819625, 4.7715936325234445, 5.230009022683568, 5.248494617292833, 5.2189694550034655, 5.057050418918566]}

stat evalue <estimate>


Description

    E-value (VanderWeele and Ding): how strong an unmeasured confounder must be to explain away an observed risk ratio

Parameters

    estimate:   The risk ratio - Number - required
admin
stat evalue 3.9
mentdb
{"estimate": 3.9, "type": "rr", "rr_scale": 3.9, "evalue": 7.263034344160047, "meaning": "an unmeasured confounder associated with both the treatment and the outcome by a risk ratio of E-value each could explain away the effect"}

stat evalue <estimate> <json_params>


Description

    E-value with parameters: type (rr, or, hr), rare (outcome < 15 %: true), lower or upper (the bound of the interval closest to 1: lower for a ratio > 1, upper for a ratio < 1)

Parameters

    estimate:   The ratio - Number - required
    json_params:   The parameters - String - required
admin
stat evalue 3.9 "{\"lower\": 1.8, \"upper\": 8.7}"
mentdb
{"estimate": 3.9, "type": "rr", "rr_scale": 3.9, "evalue": 7.263034344160047, "evalue_ci": 3, "meaning": "an unmeasured confounder associated with both the treatment and the outcome by a risk ratio of E-value each could explain away the effect"}
Hazard ratio, common outcome
admin
stat evalue 0.7 "{\"type\": \"hr\", \"rare\": false, \"lower\": 0.55, \"upper\": 0.9}"
mentdb
{"estimate": 0.7, "type": "hr", "rr_scale": 0.7812446115857402, "evalue": 1.878685512837407, "evalue_ci": 1.3612206313389328, "meaning": "an unmeasured confounder associated with both the treatment and the outcome by a risk ratio of E-value each could explain away the effect"}
Used in use cases (1 recipe)

    Epidemiologist › Effect of a treatment in observational data: doubly robust estimate and E-value
Often used with

    math exp  ·  stat aipw  ·  stat stddev

stat mediation <json_exposure> <json_mediator> <json_outcome>


Description

    Mediation analysis: effect of the exposure through the mediator (indirect a b, percentile bootstrap interval), direct effect, total effect, proportion mediated, Sobel test

Parameters

    json_exposure:   The exposure - String - required
    json_mediator:   The mediator - String - required
    json_outcome:   The outcome - String - required
admin
stat mediation "[-1.13, 1.95, 0.18, 0.96, -0.62, -0.27, -0.8, 0.24, -0.32, -1.75, -1.75, -0.99, -1.66, 0.09, 0.82, 0.55, -0.92, 1.87, -0.97, 0.01, -1.24, -2.15, 0.87, -1.58, -0.91, -1.56, -0.92, -0.38, -0.32, 0.71, -0.61, 1.01, 0.47, -0.56, -0.6, 0.49, -0.35, 0.04, -1.42, -1.38, 0.8, -0.5, 0.79, 1.41, 0.02, -0.65, 1.38, 0.55, -0.88, 0.83, -1.91, -0.82, 0.55, 0.55, 1.49, 0.33, 1.72, 0.93, -0.92, -0.76]" "[-0.79, 2.98, 1.08, 1.35, 0.39, -1.42, 0.06, 0.27, -0.52, 0.7, 0.75, 1.4, 0.15, -0.81, 1.43, -0.72, 0.08, 1.79, 0.58, 0.17, 0.39, -1.14, -0.05, -1.6, -0.87, -1.58, 0.42, -0.72, -0.29, 1.41, 0.49, 0.91, 0.16, -1.3, -0.99, 0.48, 0.76, -1.84, -0.76, -0.66, -1.43, 0.64, -0.02, 0.12, 1.66, 0.96, 1.9, 0.94, -0.96, 0.06, -2.81, 0.3, 0.67, 0.27, 1.51, 0.32, 3.04, 1.18, 0.38, 0.08]" "[-0.28, 2.09, 0.95, 1.73, 0.25, -0.36, 0.42, -0.59, -1.25, -0.22, -1.84, 2.08, 0.79, 0.4, 0.99, 0.55, -0.38, 1.08, -0.98, 0.22, -0.45, -1.52, -0.54, -1.14, -1.69, -1.33, -1.5, -0.17, 0.03, 1.52, -1.07, 0.74, 0.35, -1.45, 0.39, 0.61, 0.75, -0.32, -1.15, -0.53, -1.71, 0.04, -1.79, 0.69, -0.49, 1.17, 1.77, 1.53, -1.72, 0.78, -2.89, -0.51, 0.58, -0.31, 1.07, 0.74, 3.28, 1.65, 0.48, -0.2]"
mentdb
{"a": 0.6096055661103602, "b": 0.6126655919812564, "total_effect": 0.7096116031237116, "direct_effect": 0.3361272480876387, "indirect_effect": 0.37348435503607275, "indirect_lower": 0.16268149279462157, "indirect_upper": 0.6165674180316338, "proportion_mediated": 0.5263222210459834, "sobel_z": 3.8191833171218335, "sobel_p_value": 1.3389423357335062E-4, "bootstrap": 1000}

stat mediation <json_exposure> <json_mediator> <json_outcome> <json_params>


Description

    Mediation with parameters: X (covariates), bootstrap (1000), seed, level

Parameters

    json_exposure:   The exposure - String - required
    json_mediator:   The mediator - String - required
    json_outcome:   The outcome - String - required
    json_params:   The parameters - String - required
admin
stat mediation "[-1.13, 1.95, 0.18, 0.96, -0.62, -0.27, -0.8, 0.24, -0.32, -1.75, -1.75, -0.99, -1.66, 0.09, 0.82, 0.55, -0.92, 1.87, -0.97, 0.01, -1.24, -2.15, 0.87, -1.58, -0.91, -1.56, -0.92, -0.38, -0.32, 0.71, -0.61, 1.01, 0.47, -0.56, -0.6, 0.49, -0.35, 0.04, -1.42, -1.38, 0.8, -0.5, 0.79, 1.41, 0.02, -0.65, 1.38, 0.55, -0.88, 0.83, -1.91, -0.82, 0.55, 0.55, 1.49, 0.33, 1.72, 0.93, -0.92, -0.76]" "[-0.79, 2.98, 1.08, 1.35, 0.39, -1.42, 0.06, 0.27, -0.52, 0.7, 0.75, 1.4, 0.15, -0.81, 1.43, -0.72, 0.08, 1.79, 0.58, 0.17, 0.39, -1.14, -0.05, -1.6, -0.87, -1.58, 0.42, -0.72, -0.29, 1.41, 0.49, 0.91, 0.16, -1.3, -0.99, 0.48, 0.76, -1.84, -0.76, -0.66, -1.43, 0.64, -0.02, 0.12, 1.66, 0.96, 1.9, 0.94, -0.96, 0.06, -2.81, 0.3, 0.67, 0.27, 1.51, 0.32, 3.04, 1.18, 0.38, 0.08]" "[-0.28, 2.09, 0.95, 1.73, 0.25, -0.36, 0.42, -0.59, -1.25, -0.22, -1.84, 2.08, 0.79, 0.4, 0.99, 0.55, -0.38, 1.08, -0.98, 0.22, -0.45, -1.52, -0.54, -1.14, -1.69, -1.33, -1.5, -0.17, 0.03, 1.52, -1.07, 0.74, 0.35, -1.45, 0.39, 0.61, 0.75, -0.32, -1.15, -0.53, -1.71, 0.04, -1.79, 0.69, -0.49, 1.17, 1.77, 1.53, -1.72, 0.78, -2.89, -0.51, 0.58, -0.31, 1.07, 0.74, 3.28, 1.65, 0.48, -0.2]" "{\"bootstrap\": 300}"
mentdb
{"a": 0.6096055661103602, "b": 0.6126655919812564, "total_effect": 0.7096116031237116, "direct_effect": 0.3361272480876387, "indirect_effect": 0.37348435503607275, "indirect_lower": 0.15736005048893484, "indirect_upper": 0.6059909961972989, "proportion_mediated": 0.5263222210459834, "sobel_z": 3.8191833171218335, "sobel_p_value": 1.3389423357335062E-4, "bootstrap": 300}

stat its <json_series> <intervention>


Description

    Interrupted time series (segmented regression): level change and slope change at the intervention, Newey-West standard errors, Durbin-Watson

Parameters

    json_series:   The series - String - required
    intervention:   The index of the first period after the intervention - Number - required
admin
stat its "[20.49, 19.95, 20.63, 20.39, 20.15, 20.62, 20.96, 22.05, 22.03, 21.5, 22.67, 22.32, 27.51, 27.56, 29.05, 29.1, 29.69, 31.06, 31.76, 32.41, 32.32, 32.9, 34.84, 36.09]" 12
mentdb
{"n": 24, "intervention_index": 12, "baseline_level": 19.897820512820466, "baseline_slope": 0.2270629370629358, "level_change": {"estimate": 4.494988344988414, "se": 0.20810566412312417, "lower": 4.087108738328301, "upper": 4.902867951648527, "p_value": 0}, "slope_change": {"estimate": 0.5135314685314754, "se": 0.05156241424222225, "lower": 0.4124709936607846, "upper": 0.614591943402166, "p_value": 0}, "durbin_watson": 1.7298009729290469, "se": "Newey-West, lag 2"}

stat its <json_series> <intervention> <json_params>


Description

    Interrupted time series with parameters: lag (Newey-West), level

Parameters

    json_series:   The series - String - required
    intervention:   The intervention index - Number - required
    json_params:   The parameters - String - required
admin
stat its "[20.49, 19.95, 20.63, 20.39, 20.15, 20.62, 20.96, 22.05, 22.03, 21.5, 22.67, 22.32, 27.51, 27.56, 29.05, 29.1, 29.69, 31.06, 31.76, 32.41, 32.32, 32.9, 34.84, 36.09]" 12 "{\"lag\": 2}"
mentdb
{"n": 24, "intervention_index": 12, "baseline_level": 19.897820512820466, "baseline_slope": 0.2270629370629358, "level_change": {"estimate": 4.494988344988414, "se": 0.20810566412312417, "lower": 4.087108738328301, "upper": 4.902867951648527, "p_value": 0}, "slope_change": {"estimate": 0.5135314685314754, "se": 0.05156241424222225, "lower": 0.4124709936607846, "upper": 0.614591943402166, "p_value": 0}, "durbin_watson": 1.7298009729290469, "se": "Newey-West, lag 2"}
Used in use cases (1 recipe)

    Statistician & biostatistician › Effect of a speed limit on road accidents: interrupted time series