/install lake-warming-attribution-trend-analysis
Trend Analysis Guide
Overview
Trend analysis determines whether a time series shows a statistically significant long-term increase or decrease. This guide covers both parametric (linear regression) and non-parametric (Sen's slope) methods.
Parametric Method: Linear Regression
Linear regression fits a straight line to the data and tests if the slope is significantly different from zero.
from scipy import stats
slope, intercept, r_value, p_value, std_err = stats.linregress(years, values)
print(f"Slope: {slope:.2f} units/year")
print(f"p-value: {p_value:.2f}")
Assumptions
- Linear relationship between time and variable
- Residuals are normally distributed
- Homoscedasticity (constant variance)
Non-Parametric Method: Sen's Slope with Mann-Kendall Test
Sen's slope is robust to outliers and does not assume normality. Recommended for environmental data.
import pymannkendall as mk
result = mk.original_test(values)
print(result.slope) # Sen's slope (rate of change per time unit)
print(result.p) # p-value for significance
print(result.trend) # 'increasing', 'decreasing', or 'no trend'
Comparison
| Method | Pros | Cons |
|---|---|---|
| Linear Regression | Easy to interpret, gives R² | Sensitive to outliers |
| Sen's Slope | Robust to outliers, no normality assumption | Slightly less statistical power |
Significance Levels
| p-value | Interpretation |
|---|---|
| p \x3C 0.01 | Highly significant trend |
| p \x3C 0.05 | Significant trend |
| p \x3C 0.10 | Marginally significant |
| p >= 0.10 | No significant trend |
Example: Annual Precipitation Trend
import pandas as pd
import pymannkendall as mk
# Load annual precipitation data
df = pd.read_csv('precipitation.csv')
precip = df['Precipitation'].values
# Run Mann-Kendall test
result = mk.original_test(precip)
print(f"Sen's slope: {result.slope:.2f} mm/year")
print(f"p-value: {result.p:.2f}")
print(f"Trend: {result.trend}")
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| p-value = NaN | Too few data points | Need at least 8-10 years |
| Conflicting results | Methods have different assumptions | Trust Sen's slope for environmental data |
| Slope near zero but significant | Large sample size | Check practical significance |
Best Practices
- Use at least 10 data points for reliable results
- Prefer Sen's slope for environmental time series
- Report both slope magnitude and p-value
- Round results to 2 decimal places
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install lake-warming-attribution-trend-analysis - 安装完成后,直接呼叫该 Skill 的名称或使用
/lake-warming-attribution-trend-analysis触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
trend-analysis 是什么?
Detect long-term trends in time series data using parametric and non-parametric methods. Use when determining if a variable shows statistically significant i... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 86 次。
如何安装 trend-analysis?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install lake-warming-attribution-trend-analysis」即可一键安装,无需额外配置。
trend-analysis 是免费的吗?
是的,trend-analysis 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
trend-analysis 支持哪些平台?
trend-analysis 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 trend-analysis?
由 wu-uk(@wu-uk)开发并维护,当前版本 v0.1.0。