通过MCP连接 →

输入计算

Enter one observation group per line as: x y f (frequency f optional, defaults to 1). x must be > 0.

数学公式

Show calculation steps (1)
  1. Correlation Coefficient (r)

    Correlation Coefficient (r): 频率加权对数回归计算器

    Weighted Pearson correlation between ln(x) and y, using Syy = sum f y^2 - (sum f y)^2 / n.

广告

结果

频率加权对数回归
y = 1.991941243 + 1.26168234 * ln(x)
strong correlation (r = 0.9583474891)
A (intercept of y = A + B·ln x) 1.991941243
B (slope coefficient of y = A + B·ln x) 1.26168234
相关系数 r 0.9583474891
Total weighted count n = Σ f 5
已使用的观测行数 5

这个计算器能做什么

本工具会向一组观测数据拟合形如 \(y = A + B\cdot\ln(x)\) 的对数回归曲线,其中每一行都带有一个频率(权重)f。频率加权让你能够紧凑地录入分组数据或重复数据:与其把同一组 (x, y) 反复列出很多遍,你只需写一次并标注它出现的次数 f 即可。该方法属于纯粹的统计学计算,在任何场景下结果都完全一致——不涉及任何单位或国家/地区规则。

使用方法

每行录入一个观测分组,格式为 x y f。频率列是可选的;若省略,则每行默认计为一次(f = 1)。由于要对 x 取自然对数,因此每个 x 都必须大于零。请至少提供两行、且 x 取值互不相同的数据,这样才能唯一确定这条曲线。你可以选择显示精度(默认 10 位有效数字)——这只会影响所显示数值的四舍五入,绝不会改变底层的实际运算。

公式详解

设分组 i = 1..m,令 \(n = \sum f_i\)。加权均值为 \(\text{meanLnX} = \dfrac{\sum f_i\cdot\ln x_i}{n}\) 与 \(\text{meanY} = \dfrac{\sum f_i\cdot y_i}{n}\)。加权平方和分别为 \(S_{xx} = \sum f_i(\ln x_i)^2 - n\cdot\text{meanLnX}^2\)、\(S_{yy} = \sum f_i y_i^2 - n\cdot\text{meanY}^2\),以及 \(S_{xy} = \sum f_i\cdot\ln x_i\cdot y_i - n\cdot\text{meanLnX}\cdot\text{meanY}\)。于是 $$B = \frac{S_{xy}}{S_{xx}}, \qquad A = \text{meanY} - B\cdot\text{meanLnX}, \qquad r = \frac{S_{xy}}{\sqrt{S_{xx}}\,\sqrt{S_{yy}}}.$$

Advertisement
用较大圆点表示更高频率权重的数据点
每个点的频率权重由其大小表示,将曲线拉向权重更大的点。
在 x-y 坐标轴上穿过散点数据拟合的对数曲线
穿过散点数据拟合的对数曲线 \(y = A + B\cdot\ln(x)\)。

实例演算

取五行数据、且全部 f = 1——(1,2)、(2,3)、(3,3)、(4,4)、(5,4)——可得 \(\text{meanLnX} = 0.9574984\),\(\text{meanY} = 3.2\),\(S_{xx} = 1.6154888\),\(S_{yy} = 2.8\),\(S_{xy} = 2.0382328\)。由此算出 \(B = 1.2616933\),\(A = 1.9919295\),\(r = 0.9583567\)。拟合曲线为 $$y = 1.9919 + 1.2617\cdot\ln(x),$$ 相关性很强。

常见问题

频率列起什么作用? 它为每一行赋予权重。f = 5 的一行会被当作五个完全相同的观测,因此它对拟合结果的影响是 f = 1 那一行的五倍。

如何解读 r? \(|r|\) 大于 0.7 表示强相关,0.4–0.7 为中等相关,0.2–0.4 为弱相关,低于 0.2 则基本不存在相关性。

为什么会提示"无法拟合"? 拟合至少需要两个互不相同的 x 值(否则 \(S_{xx} = 0\)),并且总频率必须为正。所有 x 值都必须大于零,\(\ln(x)\) 才有定义。

最后更新: