这是代码:
const label = 'Checkbox Test';
const checked = false;
const onChange = jest.fn();
describe('Checkbox', () => {
it('renders correctly', () => {
const cbTest = shallow(
<Checkbox
checked={checked}
styles={styles}
onChange={onChange}
label="someLabel" />
expect(cbTest).toMatchSnapshot();
});
});
它给了我这样的信息:
4 z,n = np.polyfit(p,q,1,cov = True)
C:\ Users \ Rekha \ Anaconda3 \ lib \ site-packages \ numpy \ lib \ polynomial.py in polyfit(x,y,deg,rcond,full,w,cov)
601#另外,它对不确定性给出了稍微保守的估计。
602 if len(x)&lt; = order + 2:
- &GT; 603引发ValueError(&#34;数据点数必须超过+ 2&#34; 604&#34;贝叶斯估计协方差矩阵&#34;)
605 fac = resids /(len(x) - order - 2.0)
ValueError:贝叶斯数据点的数量必须超过+2的数量 估计协方差矩阵
我无法弄清楚为什么会这样?我有四个数据点,足以适合一行
答案 0 :(得分:0)
该错误正好说明了问题所在:您没有足够的数据指向估计协方差矩阵(以及不来执行拟合)。
import numpy as np
p = [1, 2, 3, 4]
q = [4, 5, 6, 7]
z = np.polyfit(p, q, 1, cov=False)
print(z)
或者,如果您满足建议的条件,即可以获得协方差矩阵的估计值,即另外一个数据点。
import numpy as np
p = [1, 2, 3, 4, 5]
q = [4, 5, 6, 7, 8]
z, n = np.polyfit(p, q, 1, cov=True)
print(z, n)
我不知道你需要协方差矩阵,但如果你需要的是fit参数的误差,你可以考虑手动计算,例如:将C(n, k)
个数据点的所有可能n
组合用于k
的所有有效值,然后计算所得系数的标准偏差。