所有文章
VS Code 加载 Web 视图时出错的解决方案
报错原因
在保存一个大型jupyter notebook
文件时,自己突然关闭了标签页。再打开它时,VS Code 就报错:
加载 Web 视图时出错: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..
并且也不能打开其他任何jupyter notebook
文件,推测是 VS Code 程序出了问题。
解决方案
我自己曾经遇到过两次这个报错,第一次是在个人电脑 Windows 系统上,第二次是在 Linux 服务器上。下面分别介绍针对这两个系统的解决方案。
\(\LaTeX\) 设置字体时指定字体文件目录
问题与需求
在编写多个\(\TeX\)文档时,我们可能会同时导入相同的外部字体文件。
通常的做法是,将字体文件放在与当前文档所在的同级目录。
$ tree
.
|-- tex_1
| |-- font.TTF
| |-- tex_1.pdf
| `-- tex_1.tex
`-- tex_2
|-- font.TTF
|-- tex_2.pdf
`-- tex_2.tex
这样的做法会使得font.TTF
同时存在于tex_1.tex
和tex_2.tex
两个文档所在的目录下,而同一份字体文件是没有必要存两遍的。我们希望能将font.TTF
存在一个公共目录,使得tex_1.tex
和tex_2.tex
都可以导入其中的字体。
解决方法
普通最小二乘估计的假设条件
- 因变量\(Y\)与自变量\(X\)之间是 线性 关系。
- 自变量之间 不存在多重共线性 ,即\(\left(X^{\prime} X\right)^{-1}\)存在。
- 误差项的 条件均值为\(0\) ,即\(E\left[u \mid X\right]=0\)。
- 误差项之间 同方差且不相关 ,即\(E\left[u u^{\prime} \mid X\right]=\sigma^2 I_T\)。
- \(\left(Y_t, X_t\right)\) 独立同分布 。
- 误差项是 正态分布 的。
假设 1-4 可推出:普通最小二乘估计是最小方差线性无偏估计(BLUE)。
假设 1-3 与假设 5 可推出:普通最小二乘估计具有一致性。
假设 6 并不影响普通最小二乘估计是最小方差线性无偏估计,它是为了便于在有限样本下对回归系数进行统计检验。
普通最小二乘估计的方差与高斯 - 马尔可夫定理
本文计算了普通最小二乘估计的方差,并证明了高斯 - 马尔可夫定理。
普通最小二乘估计的方差:
高斯 - 马尔可夫定理(Gauss-Markov Theorem)
在线性回归模型中,如果线性模型满足高斯马尔可夫假定,则回归系数的最佳线性无偏估计(BLUE, Best Linear Unbiased Estimator)就是普通最小二乘法估计。
普通最小二乘估计的无偏性和一致性
本文证明了普通最小二乘估计的无偏性和一致性。
无偏性:
一致性
线性回归的普通最小二乘估计
本文推导了线性回归的普通最小二乘估计量的矩阵形式,并在一元线性回归的情境下给出了求和形式的表达式。 $$ Y=X \widehat{\beta}+e $$
在一元线性回归的情境下:
Python 实现多列滚动计算——以“更优波动率”为例
对单列数据进行滚动计算,可以使用常规的.rolling()
。
如果需要对多列数据进行滚动计算,可以考虑下面两种方法:
- 引入外部包
numpy_ext
,使用其中的rollling_apply()
方法。 - 在
.rolling()
中加入参数method='table'
。
本文以方正金工发表的一篇研报中提出的计算“更优波动率”为例,实现了对多列数据进行滚动计算,并对上述两种方法总结如下:
numpy_ext.rollling_apply()
需要引入外部包numpy_ext
,该方法接受需要进行滚动计算的多个 Series,并返回计算出的一个数组。.rolling(method='table')
是 Pandas 内置的函数(需要升级到较新的版本),指定method='table'
后,就可以对数据框中的多列进行滚动计算,并返回一个数据框。若返回的多列结果相同,我们只需要取出其中一列即可。.rolling(method='table')
使用了engine='numba'
,计算速度更快。