[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6M0KJNH97SS271XQFD5HS9T":3,"skill-same:01M6M0KJNH97SS271XQFD5HS9T":101},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":13,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6M0KJNH97SS271XQFD5HS9T","statistical-analysis",null,"Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.","endman100\u002Fskill-router-nexus","endman100","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F31997019?v=4","01M6KPDX17BYDWW4RRB0TNGGMX","01M6KPDX64Y2QBEWVFG5W5PWPF",0,"MIT","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"analysis","statistical analysis","models","when","academic research","for","implementing","you","with","tests","Academic","selection","guidance","research","power","use","results","statsmodels","data","reporting","help","test","2026-11-10 10:12:30",false,"---\nname: statistical-analysis\ndescription: Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.\nlicense: MIT license\nmetadata:\n    skill-author: K-Dense Inc.\n---\n\n# Statistical Analysis\n\n## Overview\n\nStatistical analysis is a systematic process for testing hypotheses and quantifying relationships. Conduct hypothesis tests (t-test, ANOVA, chi-square), regression, correlation, and Bayesian analyses with assumption checks and APA reporting. Apply this skill for academic research.\n\n## When to Use This Skill\n\nThis skill should be used when:\n- Conducting statistical hypothesis tests (t-tests, ANOVA, chi-square)\n- Performing regression or correlation analyses\n- Running Bayesian statistical analyses\n- Checking statistical assumptions and diagnostics\n- Calculating effect sizes and conducting power analyses\n- Reporting statistical results in APA format\n- Analyzing experimental or observational data for research\n\n---\n\n## Core Capabilities\n\n### 1. Test Selection and Planning\n- Choose appropriate statistical tests based on research questions and data characteristics\n- Conduct a priori power analyses to determine required sample sizes\n- Plan analysis strategies including multiple comparison corrections\n\n### 2. Assumption Checking\n- Automatically verify all relevant assumptions before running tests\n- Provide diagnostic visualizations (Q-Q plots, residual plots, box plots)\n- Recommend remedial actions when assumptions are violated\n\n### 3. Statistical Testing\n- Hypothesis testing: t-tests, ANOVA, chi-square, non-parametric alternatives\n- Regression: linear, multiple, logistic, with diagnostics\n- Correlations: Pearson, Spearman, with confidence intervals\n- Bayesian alternatives: Bayesian t-tests, ANOVA, regression with Bayes Factors\n\n### 4. Effect Sizes and Interpretation\n- Calculate and interpret appropriate effect sizes for all analyses\n- Provide confidence intervals for effect estimates\n- Distinguish statistical from practical significance\n\n### 5. Professional Reporting\n- Generate APA-style statistical reports\n- Create publication-ready figures and tables\n- Provide complete interpretation with all required statistics\n\n---\n\n## Workflow Decision Tree\n\nUse this decision tree to determine your analysis path:\n\n```\nSTART\n│\n├─ Need to SELECT a statistical test?\n│  └─ YES → See \"Test Selection Guide\"\n│  └─ NO → Continue\n│\n├─ Ready to check ASSUMPTIONS?\n│  └─ YES → See \"Assumption Checking\"\n│  └─ NO → Continue\n│\n├─ Ready to run ANALYSIS?\n│  └─ YES → See \"Running Statistical Tests\"\n│  └─ NO → Continue\n│\n└─ Need to REPORT results?\n   └─ YES → See \"Reporting Results\"\n```\n\n---\n\n## Test Selection Guide\n\n### Quick Reference: Choosing the Right Test\n\nUse `references\u002Ftest_selection_guide.md` for comprehensive guidance. Quick reference:\n\n**Comparing Two Groups:**\n- Independent, continuous, normal → Independent t-test\n- Independent, continuous, non-normal → Mann-Whitney U test\n- Paired, continuous, normal → Paired t-test\n- Paired, continuous, non-normal → Wilcoxon signed-rank test\n- Binary outcome → Chi-square or Fisher's exact test\n\n**Comparing 3+ Groups:**\n- Independent, continuous, normal → One-way ANOVA\n- Independent, continuous, non-normal → Kruskal-Wallis test\n- Paired, continuous, normal → Repeated measures ANOVA\n- Paired, continuous, non-normal → Friedman test\n\n**Relationships:**\n- Two continuous variables → Pearson (normal) or Spearman correlation (non-normal)\n- Continuous outcome with predictor(s) → Linear regression\n- Binary outcome with predictor(s) → Logistic regression\n\n**Bayesian Alternatives:**\nAll tests have Bayesian versions that provide:\n- Direct probability statements about hypotheses\n- Bayes Factors quantifying evidence\n- Ability to support null hypothesis\n- See `references\u002Fbayesian_statistics.md`\n\n---\n\n## Assumption Checking\n\n### Systematic Assumption Verification\n\n**ALWAYS check assumptions before interpreting test results.**\n\nUse the provided `scripts\u002Fassumption_checks.py` module for automated checking:\n\n```python\nfrom scripts.assumption_checks import comprehensive_assumption_check\n\n# Comprehensive check with visualizations\nresults = comprehensive_assumption_check(\n    data=df,\n    value_col='score',\n    group_col='group',  # Optional: for group comparisons\n    alpha=0.05\n)\n```\n\nThis performs:\n1. **Outlier detection** (IQR and z-score methods)\n2. **Normality testing** (Shapiro-Wilk test + Q-Q plots)\n3. **Homogeneity of variance** (Levene's test + box plots)\n4. **Interpretation and recommendations**\n\n### Individual Assumption Checks\n\nFor targeted checks, use individual functions:\n\n```python\nfrom scripts.assumption_checks import (\n    check_normality,\n    check_normality_per_group,\n    check_homogeneity_of_variance,\n    check_linearity,\n    detect_outliers\n)\n\n# Example: Check normality with visualization\nresult = check_normality(\n    data=df['score'],\n    name='Test Score',\n    alpha=0.05,\n    plot=True\n)\nprint(result['interpretation'])\nprint(result['recommendation'])\n```\n\n### What to Do When Assumptions Are Violated\n\n**Normality violated:**\n- Mild violation + n > 30 per group → Proceed with parametric test (robust)\n- Moderate violation → Use non-parametric alternative\n- Severe violation → Transform data or use non-parametric test\n\n**Homogeneity of variance violated:**\n- For t-test → Use Welch's t-test\n- For ANOVA → Use Welch's ANOVA or Brown-Forsythe ANOVA\n- For regression → Use robust standard errors or weighted least squares\n\n**Linearity violated (regression):**\n- Add polynomial terms\n- Transform variables\n- Use non-linear models or GAM\n\nSee `references\u002Fassumptions_and_diagnostics.md` for comprehensive guidance.\n\n---\n\n## Running Statistical Tests\n\n### Python Libraries\n\nPrimary libraries for statistical analysis:\n- **scipy.stats**: Core statistical tests\n- **statsmodels**: Advanced regression and diagnostics\n- **pingouin**: User-friendly statistical testing with effect sizes\n- **pymc**: Bayesian statistical modeling\n- **arviz**: Bayesian visualization and diagnostics\n\n### Example Analyses\n\n#### T-Test with Complete Reporting\n\n```python\nimport pingouin as pg\nimport numpy as np\n\n# Run independent t-test\nresult = pg.ttest(group_a, group_b, correction='auto')\n\n# Extract results\nt_stat = result['T'].values[0]\ndf = result['dof'].values[0]\np_value = result['p-val'].values[0]\ncohens_d = result['cohen-d'].values[0]\nci_lower = result['CI95%'].values[0][0]\nci_upper = result['CI95%'].values[0][1]\n\n# Report\nprint(f\"t({df:.0f}) = {t_stat:.2f}, p = {p_value:.3f}\")\nprint(f\"Cohen's d = {cohens_d:.2f}, 95% CI [{ci_lower:.2f}, {ci_upper:.2f}]\")\n```\n\n#### ANOVA with Post-Hoc Tests\n\n```python\nimport pingouin as pg\n\n# One-way ANOVA\naov = pg.anova(dv='score', between='group', data=df, detailed=True)\nprint(aov)\n\n# If significant, conduct post-hoc tests\nif aov['p-unc'].values[0] \u003C 0.05:\n    posthoc = pg.pairwise_tukey(dv='score', between='group', data=df)\n    print(posthoc)\n\n# Effect size\neta_squared = aov['np2'].values[0]  # Partial eta-squared\nprint(f\"Partial η² = {eta_squared:.3f}\")\n```\n\n#### Linear Regression with Diagnostics\n\n```python\nimport statsmodels.api as sm\nfrom statsmodels.stats.outliers_influence import variance_inflation_factor\n\n# Fit model\nX = sm.add_constant(X_predictors)  # Add intercept\nmodel = sm.OLS(y, X).fit()\n\n# Summary\nprint(model.summary())\n\n# Check multicollinearity (VIF)\nvif_data = pd.DataFrame()\nvif_data[\"Variable\"] = X.columns\nvif_data[\"VIF\"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]\nprint(vif_data)\n\n# Check assumptions\nresiduals = model.resid\nfitted = model.fittedvalues\n\n# Residual plots\nimport matplotlib.pyplot as plt\nfig, axes = plt.subplots(2, 2, figsize=(12, 10))\n\n# Residuals vs fitted\naxes[0, 0].scatter(fitted, residuals, alpha=0.6)\naxes[0, 0].axhline(y=0, color='r', linestyle='--')\naxes[0, 0].set_xlabel('Fitted values')\naxes[0, 0].set_ylabel('Residuals')\naxes[0, 0].set_title('Residuals vs Fitted')\n\n# Q-Q plot\nfrom scipy import stats\nstats.probplot(residuals, dist=\"norm\", plot=axes[0, 1])\naxes[0, 1].set_title('Normal Q-Q')\n\n# Scale-Location\naxes[1, 0].scatter(fitted, np.sqrt(np.abs(residuals \u002F residuals.std())), alpha=0.6)\naxes[1, 0].set_xlabel('Fitted values')\naxes[1, 0].set_ylabel('√|Standardized residuals|')\naxes[1, 0].set_title('Scale-Location')\n\n# Residuals histogram\naxes[1, 1].hist(residuals, bins=20, edgecolor='black', alpha=0.7)\naxes[1, 1].set_xlabel('Residuals')\naxes[1, 1].set_ylabel('Frequency')\naxes[1, 1].set_title('Histogram of Residuals')\n\nplt.tight_layout()\nplt.show()\n```\n\n#### Bayesian T-Test\n\n```python\nimport pymc as pm\nimport arviz as az\nimport numpy as np\n\nwith pm.Model() as model:\n    # Priors\n    mu1 = pm.Normal('mu_group1', mu=0, sigma=10)\n    mu2 = pm.Normal('mu_group2', mu=0, sigma=10)\n    sigma = pm.HalfNormal('sigma', sigma=10)\n\n    # Likelihood\n    y1 = pm.Normal('y1', mu=mu1, sigma=sigma, observed=group_a)\n    y2 = pm.Normal('y2', mu=mu2, sigma=sigma, observed=group_b)\n\n    # Derived quantity\n    diff = pm.Deterministic('difference', mu1 - mu2)\n\n    # Sample\n    trace = pm.sample(2000, tune=1000, return_inferencedata=True)\n\n# Summarize\nprint(az.summary(trace, var_names=['difference']))\n\n# Probability that group1 > group2\nprob_greater = np.mean(trace.posterior['difference'].values > 0)\nprint(f\"P(μ₁ > μ₂ | data) = {prob_greater:.3f}\")\n\n# Plot posterior\naz.plot_posterior(trace, var_names=['difference'], ref_val=0)\n```\n\n---\n\n## Effect Sizes\n\n### Always Calculate Effect Sizes\n\n**Effect sizes quantify magnitude, while p-values only indicate existence of an effect.**\n\nSee `references\u002Feffect_sizes_and_power.md` for comprehensive guidance.\n\n### Quick Reference: Common Effect Sizes\n\n| Test | Effect Size | Small | Medium | Large |\n|------|-------------|-------|--------|-------|\n| T-test | Cohen's d | 0.20 | 0.50 | 0.80 |\n| ANOVA | η²_p | 0.01 | 0.06 | 0.14 |\n| Correlation | r | 0.10 | 0.30 | 0.50 |\n| Regression | R² | 0.02 | 0.13 | 0.26 |\n| Chi-square | Cramér's V | 0.07 | 0.21 | 0.35 |\n\n**Important**: Benchmarks are guidelines. Context matters!\n\n### Calculating Effect Sizes\n\nMost effect sizes are automatically calculated by pingouin:\n\n```python\n# T-test returns Cohen's d\nresult = pg.ttest(x, y)\nd = result['cohen-d'].values[0]\n\n# ANOVA returns partial eta-squared\naov = pg.anova(dv='score', between='group', data=df)\neta_p2 = aov['np2'].values[0]\n\n# Correlation: r is already an effect size\ncorr = pg.corr(x, y)\nr = corr['r'].values[0]\n```\n\n### Confidence Intervals for Effect Sizes\n\nAlways report CIs to show precision:\n\n```python\nfrom pingouin import compute_effsize_from_t\n\n# For t-test\nd, ci = compute_effsize_from_t(\n    t_statistic,\n    nx=len(group1),\n    ny=len(group2),\n    eftype='cohen'\n)\nprint(f\"d = {d:.2f}, 95% CI [{ci[0]:.2f}, {ci[1]:.2f}]\")\n```\n\n---\n\n## Power Analysis\n\n### A Priori Power Analysis (Study Planning)\n\nDetermine required sample size before data collection:\n\n```python\nfrom statsmodels.stats.power import (\n    tt_ind_solve_power,\n    FTestAnovaPower\n)\n\n# T-test: What n is needed to detect d = 0.5?\nn_required = tt_ind_solve_power(\n    effect_size=0.5,\n    alpha=0.05,\n    power=0.80,\n    ratio=1.0,\n    alternative='two-sided'\n)\nprint(f\"Required n per group: {n_required:.0f}\")\n\n# ANOVA: What n is needed to detect f = 0.25?\nanova_power = FTestAnovaPower()\nn_per_group = anova_power.solve_power(\n    effect_size=0.25,\n    ngroups=3,\n    alpha=0.05,\n    power=0.80\n)\nprint(f\"Required n per group: {n_per_group:.0f}\")\n```\n\n### Sensitivity Analysis (Post-Study)\n\nDetermine what effect size you could detect:\n\n```python\n# With n=50 per group, what effect could we detect?\ndetectable_d = tt_ind_solve_power(\n    effect_size=None,  # Solve for this\n    nobs1=50,\n    alpha=0.05,\n    power=0.80,\n    ratio=1.0,\n    alternative='two-sided'\n)\nprint(f\"Study could detect d ≥ {detectable_d:.2f}\")\n```\n\n**Note**: Post-hoc power analysis (calculating power after study) is generally not recommended. Use sensitivity analysis instead.\n\nSee `references\u002Feffect_sizes_and_power.md` for detailed guidance.\n\n---\n\n## Reporting Results\n\n### APA Style Statistical Reporting\n\nFollow guidelines in `references\u002Freporting_standards.md`.\n\n### Essential Reporting Elements\n\n1. **Descriptive statistics**: M, SD, n for all groups\u002Fvariables\n2. **Test statistics**: Test name, statistic, df, exact p-value\n3. **Effect sizes**: With confidence intervals\n4. **Assumption checks**: Which tests were done, results, actions taken\n5. **All planned analyses**: Including non-significant findings\n\n### Example Report Templates\n\n#### Independent T-Test\n\n```\nGroup A (n = 48, M = 75.2, SD = 8.5) scored significantly higher than\nGroup B (n = 52, M = 68.3, SD = 9.2), t(98) = 3.82, p \u003C .001, d = 0.77,\n95% CI [0.36, 1.18], two-tailed. Assumptions of normality (Shapiro-Wilk:\nGroup A W = 0.97, p = .18; Group B W = 0.96, p = .12) and homogeneity\nof variance (Levene's F(1, 98) = 1.23, p = .27) were satisfied.\n```\n\n#### One-Way ANOVA\n\n```\nA one-way ANOVA revealed a significant main effect of treatment condition\non test scores, F(2, 147) = 8.45, p \u003C .001, η²_p = .10. Post hoc\ncomparisons using Tukey's HSD indicated that Condition A (M = 78.2,\nSD = 7.3) scored significantly higher than Condition B (M = 71.5,\nSD = 8.1, p = .002, d = 0.87) and Condition C (M = 70.1, SD = 7.9,\np \u003C .001, d = 1.07). Conditions B and C did not differ significantly\n(p = .52, d = 0.18).\n```\n\n#### Multiple Regression\n\n```\nMultiple linear regression was conducted to predict exam scores from\nstudy hours, prior GPA, and attendance. The overall model was significant,\nF(3, 146) = 45.2, p \u003C .001, R² = .48, adjusted R² = .47. Study hours\n(B = 1.80, SE = 0.31, β = .35, t = 5.78, p \u003C .001, 95% CI [1.18, 2.42])\nand prior GPA (B = 8.52, SE = 1.95, β = .28, t = 4.37, p \u003C .001,\n95% CI [4.66, 12.38]) were significant predictors, while attendance was\nnot (B = 0.15, SE = 0.12, β = .08, t = 1.25, p = .21, 95% CI [-0.09, 0.39]).\nMulticollinearity was not a concern (all VIF \u003C 1.5).\n```\n\n#### Bayesian Analysis\n\n```\nA Bayesian independent samples t-test was conducted using weakly\ninformative priors (Normal(0, 1) for mean difference). The posterior\ndistribution indicated that Group A scored higher than Group B\n(M_diff = 6.8, 95% credible interval [3.2, 10.4]). The Bayes Factor\nBF₁₀ = 45.3 provided very strong evidence for a difference between\ngroups, with a 99.8% posterior probability that Group A's mean exceeded\nGroup B's mean. Convergence diagnostics were satisfactory (all R̂ \u003C 1.01,\nESS > 1000).\n```\n\n---\n\n## Bayesian Statistics\n\n### When to Use Bayesian Methods\n\nConsider Bayesian approaches when:\n- You have prior information to incorporate\n- You want direct probability statements about hypotheses\n- Sample size is small or planning sequential data collection\n- You need to quantify evidence for the null hypothesis\n- The model is complex (hierarchical, missing data)\n\nSee `references\u002Fbayesian_statistics.md` for comprehensive guidance on:\n- Bayes' theorem and interpretation\n- Prior specification (informative, weakly informative, non-informative)\n- Bayesian hypothesis testing with Bayes Factors\n- Credible intervals vs. confidence intervals\n- Bayesian t-tests, ANOVA, regression, and hierarchical models\n- Model convergence checking and posterior predictive checks\n\n### Key Advantages\n\n1. **Intuitive interpretation**: \"Given the data, there is a 95% probability the parameter is in this interval\"\n2. **Evidence for null**: Can quantify support for no effect\n3. **Flexible**: No p-hacking concerns; can analyze data as it arrives\n4. **Uncertainty quantification**: Full posterior distribution\n\n---\n\n## Resources\n\nThis skill includes comprehensive reference materials:\n\n### References Directory\n\n- **test_selection_guide.md**: Decision tree for choosing appropriate statistical tests\n- **assumptions_and_diagnostics.md**: Detailed guidance on checking and handling assumption violations\n- **effect_sizes_and_power.md**: Calculating, interpreting, and reporting effect sizes; conducting power analyses\n- **bayesian_statistics.md**: Complete guide to Bayesian analysis methods\n- **reporting_standards.md**: APA-style reporting guidelines with examples\n\n### Scripts Directory\n\n- **assumption_checks.py**: Automated assumption checking with visualizations\n  - `comprehensive_assumption_check()`: Complete workflow\n  - `check_normality()`: Normality testing with Q-Q plots\n  - `check_homogeneity_of_variance()`: Levene's test with box plots\n  - `check_linearity()`: Regression linearity checks\n  - `detect_outliers()`: IQR and z-score outlier detection\n\n---\n\n## Best Practices\n\n1. **Pre-register analyses** when possible to distinguish confirmatory from exploratory\n2. **Always check assumptions** before interpreting results\n3. **Report effect sizes** with confidence intervals\n4. **Report all planned analyses** including non-significant results\n5. **Distinguish statistical from practical significance**\n6. **Visualize data** before and after analysis\n7. **Check diagnostics** for regression\u002FANOVA (residual plots, VIF, etc.)\n8. **Conduct sensitivity analyses** to assess robustness\n9. **Share data and code** for reproducibility\n10. **Be transparent** about violations, transformations, and decisions\n\n---\n\n## Common Pitfalls to Avoid\n\n1. **P-hacking**: Don't test multiple ways until something is significant\n2. **HARKing**: Don't present exploratory findings as confirmatory\n3. **Ignoring assumptions**: Check them and report violations\n4. **Confusing significance with importance**: p \u003C .05 ≠ meaningful effect\n5. **Not reporting effect sizes**: Essential for interpretation\n6. **Cherry-picking results**: Report all planned analyses\n7. **Misinterpreting p-values**: They're NOT probability that hypothesis is true\n8. **Multiple comparisons**: Correct for family-wise error when appropriate\n9. **Ignoring missing data**: Understand mechanism (MCAR, MAR, MNAR)\n10. **Overinterpreting non-significant results**: Absence of evidence ≠ evidence of absence\n\n---\n\n## Getting Started Checklist\n\nWhen beginning a statistical analysis:\n\n- [ ] Define research question and hypotheses\n- [ ] Determine appropriate statistical test (use test_selection_guide.md)\n- [ ] Conduct power analysis to determine sample size\n- [ ] Load and inspect data\n- [ ] Check for missing data and outliers\n- [ ] Verify assumptions using assumption_checks.py\n- [ ] Run primary analysis\n- [ ] Calculate effect sizes with confidence intervals\n- [ ] Conduct post-hoc tests if needed (with corrections)\n- [ ] Create visualizations\n- [ ] Write results following reporting_standards.md\n- [ ] Conduct sensitivity analyses\n- [ ] Share data and code\n\n---\n\n## Support and Further Reading\n\nFor questions about:\n- **Test selection**: See references\u002Ftest_selection_guide.md\n- **Assumptions**: See references\u002Fassumptions_and_diagnostics.md\n- **Effect sizes**: See references\u002Feffect_sizes_and_power.md\n- **Bayesian methods**: See references\u002Fbayesian_statistics.md\n- **Reporting**: See references\u002Freporting_standards.md\n\n**Key textbooks**:\n- Cohen, J. (1988). *Statistical Power Analysis for the Behavioral Sciences*\n- Field, A. (2013). *Discovering Statistics Using IBM SPSS Statistics*\n- Gelman, A., & Hill, J. (2006). *Data Analysis Using Regression and Multilevel\u002FHierarchical Models*\n- Kruschke, J. K. (2014). *Doing Bayesian Data Analysis*\n\n**Online resources**:\n- APA Style Guide: https:\u002F\u002Fapastyle.apa.org\u002F\n- Statistical Consulting: Cross Validated (stats.stackexchange.com)\n\n","# Statistical Analysis\n\n## Overview\n\nStatistical analysis is a systematic process for testing hypotheses and quantifying relationships. Conduct hypothesis tests (t-test, ANOVA, chi-square), regression, correlation, and Bayesian analyses with assumption checks and APA reporting. Apply this skill for academic research.\n\n## When to Use This Skill\n\nThis skill should be used when:\n- Conducting statistical hypothesis tests (t-tests, ANOVA, chi-square)\n- Performing regression or correlation analyses\n- Running Bayesian statistical analyses\n- Checking statistical assumptions and diagnostics\n- Calculating effect sizes and conducting power analyses\n- Reporting statistical results in APA format\n- Analyzing experimental or observational data for research\n\n---\n\n## Core Capabilities\n\n### 1. Test Selection and Planning\n- Choose appropriate statistical tests based on research questions and data characteristics\n- Conduct a priori power analyses to determine required sample sizes\n- Plan analysis strategies including multiple comparison corrections\n\n### 2. Assumption Checking\n- Automatically verify all relevant assumptions before running tests\n- Provide diagnostic visualizations (Q-Q plots, residual plots, box plots)\n- Recommend remedial actions when assumptions are violated\n\n### 3. Statistical Testing\n- Hypothesis testing: t-tests, ANOVA, chi-square, non-parametric alternatives\n- Regression: linear, multiple, logistic, with diagnostics\n- Correlations: Pearson, Spearman, with confidence intervals\n- Bayesian alternatives: Bayesian t-tests, ANOVA, regression with Bayes Factors\n\n### 4. Effect Sizes and Interpretation\n- Calculate and interpret appropriate effect sizes for all analyses\n- Provide confidence intervals for effect estimates\n- Distinguish statistical from practical significance\n\n### 5. Professional Reporting\n- Generate APA-style statistical reports\n- Create publication-ready figures and tables\n- Provide complete interpretation with all required statistics\n\n---\n\n## Workflow Decision Tree\n\nUse this decision tree to determine your analysis path:\n\n```\nSTART\n│\n├─ Need to SELECT a statistical test?\n│  └─ YES → See \"Test Selection Guide\"\n│  └─ NO → Continue\n│\n├─ Ready to check ASSUMPTIONS?\n│  └─ YES → See \"Assumption Checking\"\n│  └─ NO → Continue\n│\n├─ Ready to run ANALYSIS?\n│  └─ YES → See \"Running Statistical Tests\"\n│  └─ NO → Continue\n│\n└─ Need to REPORT results?\n   └─ YES → See \"Reporting Results\"\n```\n\n---\n\n## Test Selection Guide\n\n### Quick Reference: Choosing the Right Test\n\nUse `references\u002Ftest_selection_guide.md` for comprehensive guidance. Quick reference:\n\n**Comparing Two Groups:**\n- Independent, continuous, normal → Independent t-test\n- Independent, continuous, non-normal → Mann-Whitney U test\n- Paired, continuous, normal → Paired t-test\n- Paired, continuous, non-normal → Wilcoxon signed-rank test\n- Binary outcome → Chi-square or Fisher's exact test\n\n**Comparing 3+ Groups:**\n- Independent, continuous, normal → One-way ANOVA\n- Independent, continuous, non-normal → Kruskal-Wallis test\n- Paired, continuous, normal → Repeated measures ANOVA\n- Paired, continuous, non-normal → Friedman test\n\n**Relationships:**\n- Two continuous variables → Pearson (normal) or Spearman correlation (non-normal)\n- Continuous outcome with predictor(s) → Linear regression\n- Binary outcome with predictor(s) → Logistic regression\n\n**Bayesian Alternatives:**\nAll tests have Bayesian versions that provide:\n- Direct probability statements about hypotheses\n- Bayes Factors quantifying evidence\n- Ability to support null hypothesis\n- See `references\u002Fbayesian_statistics.md`\n\n---\n\n## Assumption Checking\n\n### Systematic Assumption Verification\n\n**ALWAYS check assumptions before interpreting test results.**\n\nUse the provided `scripts\u002Fassumption_checks.py` module for automated checking:\n\n```python\nfrom scripts.assumption_checks import comprehensive_assumption_check\n\n# Comprehensive check with visualizations\nresults = comprehensive_assumption_check(\n    data=df,\n    value_col='score',\n    group_col='group',  # Optional: for group comparisons\n    alpha=0.05\n)\n```\n\nThis performs:\n1. **Outlier detection** (IQR and z-score methods)\n2. **Normality testing** (Shapiro-Wilk test + Q-Q plots)\n3. **Homogeneity of variance** (Levene's test + box plots)\n4. **Interpretation and recommendations**\n\n### Individual Assumption Checks\n\nFor targeted checks, use individual functions:\n\n```python\nfrom scripts.assumption_checks import (\n    check_normality,\n    check_normality_per_group,\n    check_homogeneity_of_variance,\n    check_linearity,\n    detect_outliers\n)\n\n# Example: Check normality with visualization\nresult = check_normality(\n    data=df['score'],\n    name='Test Score',\n    alpha=0.05,\n    plot=True\n)\nprint(result['interpretation'])\nprint(result['recommendation'])\n```\n\n### What to Do When Assumptions Are Violated\n\n**Normality violated:**\n- Mild violation + n > 30 per group → Proceed with parametric test (robust)\n- Moderate violation → Use non-parametric alternative\n- Severe violation → Transform data or use non-parametric test\n\n**Homogeneity of variance violated:**\n- For t-test → Use Welch's t-test\n- For ANOVA → Use Welch's ANOVA or Brown-Forsythe ANOVA\n- For regression → Use robust standard errors or weighted least squares\n\n**Linearity violated (regression):**\n- Add polynomial terms\n- Transform variables\n- Use non-linear models or GAM\n\nSee `references\u002Fassumptions_and_diagnostics.md` for comprehensive guidance.\n\n---\n\n## Running Statistical Tests\n\n### Python Libraries\n\nPrimary libraries for statistical analysis:\n- **scipy.stats**: Core statistical tests\n- **statsmodels**: Advanced regression and diagnostics\n- **pingouin**: User-friendly statistical testing with effect sizes\n- **pymc**: Bayesian statistical modeling\n- **arviz**: Bayesian visualization and diagnostics\n\n### Example Analyses\n\n#### T-Test with Complete Reporting\n\n```python\nimport pingouin as pg\nimport numpy as np\n\n# Run independent t-test\nresult = pg.ttest(group_a, group_b, correction='auto')\n\n# Extract results\nt_stat = result['T'].values[0]\ndf = result['dof'].values[0]\np_value = result['p-val'].values[0]\ncohens_d = result['cohen-d'].values[0]\nci_lower = result['CI95%'].values[0][0]\nci_upper = result['CI95%'].values[0][1]\n\n# Report\nprint(f\"t({df:.0f}) = {t_stat:.2f}, p = {p_value:.3f}\")\nprint(f\"Cohen's d = {cohens_d:.2f}, 95% CI [{ci_lower:.2f}, {ci_upper:.2f}]\")\n```\n\n#### ANOVA with Post-Hoc Tests\n\n```python\nimport pingouin as pg\n\n# One-way ANOVA\naov = pg.anova(dv='score', between='group', data=df, detailed=True)\nprint(aov)\n\n# If significant, conduct post-hoc tests\nif aov['p-unc'].values[0] \u003C 0.05:\n    posthoc = pg.pairwise_tukey(dv='score', between='group', data=df)\n    print(posthoc)\n\n# Effect size\neta_squared = aov['np2'].values[0]  # Partial eta-squared\nprint(f\"Partial η² = {eta_squared:.3f}\")\n```\n\n#### Linear Regression with Diagnostics\n\n```python\nimport statsmodels.api as sm\nfrom statsmodels.stats.outliers_influence import variance_inflation_factor\n\n# Fit model\nX = sm.add_constant(X_predictors)  # Add intercept\nmodel = sm.OLS(y, X).fit()\n\n# Summary\nprint(model.summary())\n\n# Check multicollinearity (VIF)\nvif_data = pd.DataFrame()\nvif_data[\"Variable\"] = X.columns\nvif_data[\"VIF\"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]\nprint(vif_data)\n\n# Check assumptions\nresiduals = model.resid\nfitted = model.fittedvalues\n\n# Residual plots\nimport matplotlib.pyplot as plt\nfig, axes = plt.subplots(2, 2, figsize=(12, 10))\n\n# Residuals vs fitted\naxes[0, 0].scatter(fitted, residuals, alpha=0.6)\naxes[0, 0].axhline(y=0, color='r', linestyle='--')\naxes[0, 0].set_xlabel('Fitted values')\naxes[0, 0].set_ylabel('Residuals')\naxes[0, 0].set_title('Residuals vs Fitted')\n\n# Q-Q plot\nfrom scipy import stats\nstats.probplot(residuals, dist=\"norm\", plot=axes[0, 1])\naxes[0, 1].set_title('Normal Q-Q')\n\n# Scale-Location\naxes[1, 0].scatter(fitted, np.sqrt(np.abs(residuals \u002F residuals.std())), alpha=0.6)\naxes[1, 0].set_xlabel('Fitted values')\naxes[1, 0].set_ylabel('√|Standardized residuals|')\naxes[1, 0].set_title('Scale-Location')\n\n# Residuals histogram\naxes[1, 1].hist(residuals, bins=20, edgecolor='black', alpha=0.7)\naxes[1, 1].set_xlabel('Residuals')\naxes[1, 1].set_ylabel('Frequency')\naxes[1, 1].set_title('Histogram of Residuals')\n\nplt.tight_layout()\nplt.show()\n```\n\n#### Bayesian T-Test\n\n```python\nimport pymc as pm\nimport arviz as az\nimport numpy as np\n\nwith pm.Model() as model:\n    # Priors\n    mu1 = pm.Normal('mu_group1', mu=0, sigma=10)\n    mu2 = pm.Normal('mu_group2', mu=0, sigma=10)\n    sigma = pm.HalfNormal('sigma', sigma=10)\n\n    # Likelihood\n    y1 = pm.Normal('y1', mu=mu1, sigma=sigma, observed=group_a)\n    y2 = pm.Normal('y2', mu=mu2, sigma=sigma, observed=group_b)\n\n    # Derived quantity\n    diff = pm.Deterministic('difference', mu1 - mu2)\n\n    # Sample\n    trace = pm.sample(2000, tune=1000, return_inferencedata=True)\n\n# Summarize\nprint(az.summary(trace, var_names=['difference']))\n\n# Probability that group1 > group2\nprob_greater = np.mean(trace.posterior['difference'].values > 0)\nprint(f\"P(μ₁ > μ₂ | data) = {prob_greater:.3f}\")\n\n# Plot posterior\naz.plot_posterior(trace, var_names=['difference'], ref_val=0)\n```\n\n---\n\n## Effect Sizes\n\n### Always Calculate Effect Sizes\n\n**Effect sizes quantify magnitude, while p-values only indicate existence of an effect.**\n\nSee `references\u002Feffect_sizes_and_power.md` for comprehensive guidance.\n\n### Quick Reference: Common Effect Sizes\n\n| Test | Effect Size | Small | Medium | Large |\n|------|-------------|-------|--------|-------|\n| T-test | Cohen's d | 0.20 | 0.50 | 0.80 |\n| ANOVA | η²_p | 0.01 | 0.06 | 0.14 |\n| Correlation | r | 0.10 | 0.30 | 0.50 |\n| Regression | R² | 0.02 | 0.13 | 0.26 |\n| Chi-square | Cramér's V | 0.07 | 0.21 | 0.35 |\n\n**Important**: Benchmarks are guidelines. Context matters!\n\n### Calculating Effect Sizes\n\nMost effect sizes are automatically calculated by pingouin:\n\n```python\n# T-test returns Cohen's d\nresult = pg.ttest(x, y)\nd = result['cohen-d'].values[0]\n\n# ANOVA returns partial eta-squared\naov = pg.anova(dv='score', between='group', data=df)\neta_p2 = aov['np2'].values[0]\n\n# Correlation: r is already an effect size\ncorr = pg.corr(x, y)\nr = corr['r'].values[0]\n```\n\n### Confidence Intervals for Effect Sizes\n\nAlways report CIs to show precision:\n\n```python\nfrom pingouin import compute_effsize_from_t\n\n# For t-test\nd, ci = compute_effsize_from_t(\n    t_statistic,\n    nx=len(group1),\n    ny=len(group2),\n    eftype='cohen'\n)\nprint(f\"d = {d:.2f}, 95% CI [{ci[0]:.2f}, {ci[1]:.2f}]\")\n```\n\n---\n\n## Power Analysis\n\n### A Priori Power Analysis (Study Planning)\n\nDetermine required sample size before data collection:\n\n```python\nfrom statsmodels.stats.power import (\n    tt_ind_solve_power,\n    FTestAnovaPower\n)\n\n# T-test: What n is needed to detect d = 0.5?\nn_required = tt_ind_solve_power(\n    effect_size=0.5,\n    alpha=0.05,\n    power=0.80,\n    ratio=1.0,\n    alternative='two-sided'\n)\nprint(f\"Required n per group: {n_required:.0f}\")\n\n# ANOVA: What n is needed to detect f = 0.25?\nanova_power = FTestAnovaPower()\nn_per_group = anova_power.solve_power(\n    effect_size=0.25,\n    ngroups=3,\n    alpha=0.05,\n    power=0.80\n)\nprint(f\"Required n per group: {n_per_group:.0f}\")\n```\n\n### Sensitivity Analysis (Post-Study)\n\nDetermine what effect size you could detect:\n\n```python\n# With n=50 per group, what effect could we detect?\ndetectable_d = tt_ind_solve_power(\n    effect_size=None,  # Solve for this\n    nobs1=50,\n    alpha=0.05,\n    power=0.80,\n    ratio=1.0,\n    alternative='two-sided'\n)\nprint(f\"Study could detect d ≥ {detectable_d:.2f}\")\n```\n\n**Note**: Post-hoc power analysis (calculating power after study) is generally not recommended. Use sensitivity analysis instead.\n\nSee `references\u002Feffect_sizes_and_power.md` for detailed guidance.\n\n---\n\n## Reporting Results\n\n### APA Style Statistical Reporting\n\nFollow guidelines in `references\u002Freporting_standards.md`.\n\n### Essential Reporting Elements\n\n1. **Descriptive statistics**: M, SD, n for all groups\u002Fvariables\n2. **Test statistics**: Test name, statistic, df, exact p-value\n3. **Effect sizes**: With confidence intervals\n4. **Assumption checks**: Which tests were done, results, actions taken\n5. **All planned analyses**: Including non-significant findings\n\n### Example Report Templates\n\n#### Independent T-Test\n\n```\nGroup A (n = 48, M = 75.2, SD = 8.5) scored significantly higher than\nGroup B (n = 52, M = 68.3, SD = 9.2), t(98) = 3.82, p \u003C .001, d = 0.77,\n95% CI [0.36, 1.18], two-tailed. Assumptions of normality (Shapiro-Wilk:\nGroup A W = 0.97, p = .18; Group B W = 0.96, p = .12) and homogeneity\nof variance (Levene's F(1, 98) = 1.23, p = .27) were satisfied.\n```\n\n#### One-Way ANOVA\n\n```\nA one-way ANOVA revealed a significant main effect of treatment condition\non test scores, F(2, 147) = 8.45, p \u003C .001, η²_p = .10. Post hoc\ncomparisons using Tukey's HSD indicated that Condition A (M = 78.2,\nSD = 7.3) scored significantly higher than Condition B (M = 71.5,\nSD = 8.1, p = .002, d = 0.87) and Condition C (M = 70.1, SD = 7.9,\np \u003C .001, d = 1.07). Conditions B and C did not differ significantly\n(p = .52, d = 0.18).\n```\n\n#### Multiple Regression\n\n```\nMultiple linear regression was conducted to predict exam scores from\nstudy hours, prior GPA, and attendance. The overall model was significant,\nF(3, 146) = 45.2, p \u003C .001, R² = .48, adjusted R² = .47. Study hours\n(B = 1.80, SE = 0.31, β = .35, t = 5.78, p \u003C .001, 95% CI [1.18, 2.42])\nand prior GPA (B = 8.52, SE = 1.95, β = .28, t = 4.37, p \u003C .001,\n95% CI [4.66, 12.38]) were significant predictors, while attendance was\nnot (B = 0.15, SE = 0.12, β = .08, t = 1.25, p = .21, 95% CI [-0.09, 0.39]).\nMulticollinearity was not a concern (all VIF \u003C 1.5).\n```\n\n#### Bayesian Analysis\n\n```\nA Bayesian independent samples t-test was conducted using weakly\ninformative priors (Normal(0, 1) for mean difference). The posterior\ndistribution indicated that Group A scored higher than Group B\n(M_diff = 6.8, 95% credible interval [3.2, 10.4]). The Bayes Factor\nBF₁₀ = 45.3 provided very strong evidence for a difference between\ngroups, with a 99.8% posterior probability that Group A's mean exceeded\nGroup B's mean. Convergence diagnostics were satisfactory (all R̂ \u003C 1.01,\nESS > 1000).\n```\n\n---\n\n## Bayesian Statistics\n\n### When to Use Bayesian Methods\n\nConsider Bayesian approaches when:\n- You have prior information to incorporate\n- You want direct probability statements about hypotheses\n- Sample size is small or planning sequential data collection\n- You need to quantify evidence for the null hypothesis\n- The model is complex (hierarchical, missing data)\n\nSee `references\u002Fbayesian_statistics.md` for comprehensive guidance on:\n- Bayes' theorem and interpretation\n- Prior specification (informative, weakly informative, non-informative)\n- Bayesian hypothesis testing with Bayes Factors\n- Credible intervals vs. confidence intervals\n- Bayesian t-tests, ANOVA, regression, and hierarchical models\n- Model convergence checking and posterior predictive checks\n\n### Key Advantages\n\n1. **Intuitive interpretation**: \"Given the data, there is a 95% probability the parameter is in this interval\"\n2. **Evidence for null**: Can quantify support for no effect\n3. **Flexible**: No p-hacking concerns; can analyze data as it arrives\n4. **Uncertainty quantification**: Full posterior distribution\n\n---\n\n## Resources\n\nThis skill includes comprehensive reference materials:\n\n### References Directory\n\n- **test_selection_guide.md**: Decision tree for choosing appropriate statistical tests\n- **assumptions_and_diagnostics.md**: Detailed guidance on checking and handling assumption violations\n- **effect_sizes_and_power.md**: Calculating, interpreting, and reporting effect sizes; conducting power analyses\n- **bayesian_statistics.md**: Complete guide to Bayesian analysis methods\n- **reporting_standards.md**: APA-style reporting guidelines with examples\n\n### Scripts Directory\n\n- **assumption_checks.py**: Automated assumption checking with visualizations\n  - `comprehensive_assumption_check()`: Complete workflow\n  - `check_normality()`: Normality testing with Q-Q plots\n  - `check_homogeneity_of_variance()`: Levene's test with box plots\n  - `check_linearity()`: Regression linearity checks\n  - `detect_outliers()`: IQR and z-score outlier detection\n\n---\n\n## Best Practices\n\n1. **Pre-register analyses** when possible to distinguish confirmatory from exploratory\n2. **Always check assumptions** before interpreting results\n3. **Report effect sizes** with confidence intervals\n4. **Report all planned analyses** including non-significant results\n5. **Distinguish statistical from practical significance**\n6. **Visualize data** before and after analysis\n7. **Check diagnostics** for regression\u002FANOVA (residual plots, VIF, etc.)\n8. **Conduct sensitivity analyses** to assess robustness\n9. **Share data and code** for reproducibility\n10. **Be transparent** about violations, transformations, and decisions\n\n---\n\n## Common Pitfalls to Avoid\n\n1. **P-hacking**: Don't test multiple ways until something is significant\n2. **HARKing**: Don't present exploratory findings as confirmatory\n3. **Ignoring assumptions**: Check them and report violations\n4. **Confusing significance with importance**: p \u003C .05 ≠ meaningful effect\n5. **Not reporting effect sizes**: Essential for interpretation\n6. **Cherry-picking results**: Report all planned analyses\n7. **Misinterpreting p-values**: They're NOT probability that hypothesis is true\n8. **Multiple comparisons**: Correct for family-wise error when appropriate\n9. **Ignoring missing data**: Understand mechanism (MCAR, MAR, MNAR)\n10. **Overinterpreting non-significant results**: Absence of evidence ≠ evidence of absence\n\n---\n\n## Getting Started Checklist\n\nWhen beginning a statistical analysis:\n\n- [ ] Define research question and hypotheses\n- [ ] Determine appropriate statistical test (use test_selection_guide.md)\n- [ ] Conduct power analysis to determine sample size\n- [ ] Load and inspect data\n- [ ] Check for missing data and outliers\n- [ ] Verify assumptions using assumption_checks.py\n- [ ] Run primary analysis\n- [ ] Calculate effect sizes with confidence intervals\n- [ ] Conduct post-hoc tests if needed (with corrections)\n- [ ] Create visualizations\n- [ ] Write results following reporting_standards.md\n- [ ] Conduct sensitivity analyses\n- [ ] Share data and code\n\n---\n\n## Support and Further Reading\n\nFor questions about:\n- **Test selection**: See references\u002Ftest_selection_guide.md\n- **Assumptions**: See references\u002Fassumptions_and_diagnostics.md\n- **Effect sizes**: See references\u002Feffect_sizes_and_power.md\n- **Bayesian methods**: See references\u002Fbayesian_statistics.md\n- **Reporting**: See references\u002Freporting_standards.md\n\n**Key textbooks**:\n- Cohen, J. (1988). *Statistical Power Analysis for the Behavioral Sciences*\n- Field, A. (2013). *Discovering Statistics Using IBM SPSS Statistics*\n- Gelman, A., & Hill, J. (2006). *Data Analysis Using Regression and Multilevel\u002FHierarchical Models*\n- Kruschke, J. K. (2014). *Doing Bayesian Data Analysis*\n\n**Online resources**:\n- APA Style Guide: https:\u002F\u002Fapastyle.apa.org\u002F\n- Statistical Consulting: Cross Validated (stats.stackexchange.com)\n\n",{"name":5,"license":50,"metadata":51,"description":7},"MIT license",{"skill-author":52},"K-Dense Inc.","main","f19b254e8975d0bfddb394686706106930d7964d","Science\u002Fscientific-data-and-ml\u002Fstatistical-analysis","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus","https:\u002F\u002Fgithub.com\u002Fendman100","2026-11-12 18:13:37",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add endman100\u002Fskill-router-nexus --skill statistical-analysis",{"tool":65,"command":66},"bunx","bunx skills add endman100\u002Fskill-router-nexus --skill statistical-analysis",{"tool":68,"command":69},"pnpm","pnpm dlx skills add endman100\u002Fskill-router-nexus --skill statistical-analysis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002FSKILL.md",true,[73,79,83,87,91,95],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fassumptions_and_diagnostics.md","REFERENCE","参考文档",11139,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002Freferences\u002Fassumptions_and_diagnostics.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fbayesian_statistics.md",17533,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002Freferences\u002Fbayesian_statistics.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Feffect_sizes_and_power.md",14989,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002Freferences\u002Feffect_sizes_and_power.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Freporting_standards.md",19504,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002Freferences\u002Freporting_standards.md",{"path":92,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Ftest_selection_guide.md",5077,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002Freferences\u002Ftest_selection_guide.md",{"path":96,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fassumption_checks.py","SCRIPT","脚本",15859,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FScience\u002Fscientific-data-and-ml\u002Fstatistical-analysis\u002Fscripts\u002Fassumption_checks.py",[102,126,159,181,190,214],{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":106,"sourceHtmlUrl":107,"categories":108,"keywords":114,"publishedAt":45},"01M6MPCT5BXVER8HQZTW3QE9AS","create-master","基于佛教经典文献，生成特定高僧大德的 AI 教学角色","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FMetaphysics-and-Spirituality\u002FMaster-skill\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FMetaphysics-and-Spirituality\u002FMaster-skill\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[115,116,117,118,119,120,121,122,123,124,125],"create master","master","create","生成","true","webfetch","edit","write","read","grep","Bash",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":130,"sourceHtmlUrl":131,"categories":132,"keywords":142,"publishedAt":45},"01M6M43AKE95Y64E1JRXEF5QQ3","writing-dna-skill","从至少 20 篇完整文章中蒸馏可复用的写作 DNA，分析语言、文章结构、选题逻辑、素材策略、认知框架和视觉风格，并生成 Writing-DNA.md；按该 DNA 写作时会读取全部蒸馏产物和 5 篇相关原文。用于中英文作者、账号、品牌或出版物的风格分析与一致性写作。 Distill reusable Writing DNA from at least 20 complete articles for Chinese or English authors, publications, brands, and accounts; use for language, structure, topic logic, source strategy, cognitive-frame, and visual-style analysis.","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fwriting-dna-skill\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fwriting-dna-skill\u002FSKILL.md",[133,136,139],{"categoryNo":134,"categoryName":135,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":137,"categoryName":138,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":140,"categoryName":141,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000036","内容创作者",[143,144,145,146,147,148,149,150,151,152,38,153,154,118,23,155,156,28,157,158],"writing dna skill","DNA","writing","strategy","english","logic","visual","structure","chinese","reusable","style","distill","frame","source","at","complete",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":163,"sourceHtmlUrl":164,"categories":165,"keywords":168,"publishedAt":45},"01M6M428TTCGQ4ME3KY99VN037","stop-slop","Remove AI writing patterns from prose. Use when drafting, editing, or reviewing text to eliminate predictable AI tells.","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fstop-slop\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fstop-slop\u002FSKILL.md",[166,167],{"categoryNo":134,"categoryName":135,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":140,"categoryName":141,"taxonomyType":112,"taxonomyTypeDesc":113},[169,170,171,172,26,173,174,175,176,38,177,178,179,28,180,145],"slop","stop slop","stop","drafting","drafts","https","patterns","prose","remove","editing","text","content",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":185,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":45},"01M6M41X0B7EBX42TK435DMGGR","shuorenhua","检查和清理中英文文本里的 AI 套路，适用于“去 AI 味”“说人话”“自然一点”“别像模板”“先标问题”这类改写和审稿需求；按场景控制力度，同时保留事实、术语、语域和责任主体。","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fshuorenhua\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fshuorenhua\u002FSKILL.md",[],[183,189],"文本",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":194,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":45},"01M6M3ZD12WBEW5KXKDM4N6DFG","naming","Name products, SaaS, brands, open source projects, bots, and apps. Use when the user needs to name something, find a brand name, or pick a product name. Metaphor-driven process that produces memorable, meaningful names and avoids AI slop.","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fnaming-main\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fnaming-main\u002FSKILL.md",[],[192,198,199,200,201,202,38,203,123,156,204,205,206,207,125,208,209,210,211,26,212,213,169],"repo","websearch","product name","apps","bots","view","brand","pick","gh","projects","open","saas","open source","product","describe","ai slop",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":218,"sourceHtmlUrl":219,"categories":220,"keywords":222,"publishedAt":45},"01M6M3YVXAFAAWJ7F6JMPFREYE","humanizer-zh","去除文本中的 AI 生成痕迹。适用于编辑或审阅文本，使其听起来更自然、更像人类书写。\n基于维基百科的\"AI 写作特征\"综合指南。检测并修复以下模式：夸大的象征意义、\n宣传性语言、以 -ing 结尾的肤浅分析、模糊的归因、破折号过度使用、三段式法则、\nAI 词汇、否定式排比、过多的连接性短语。","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fhumanizer-zh\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FWriting-and-Content\u002Fhumanizer-zh\u002FSKILL.md",[221],{"categoryNo":134,"categoryName":135,"taxonomyType":20,"taxonomyTypeDesc":21},[223,224,225,123,122,121,145,118,189,226,169,171],"humanizer","zh","humanizer zh","翻译"]