<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
<atom:link href="https://shiro.mizore.space//feed" rel="self" type="application/rss+xml"/>
<title>A.Mizore's Blog</title>
<link>https://shiro.mizore.space/</link>
<description>just a blog</description>
<language>zh-CN</language>
<copyright>© Asuka </copyright>
<pubDate>Tue, 14 Apr 2026 23:22:12 GMT</pubDate>
<generator>Mix Space CMS (https://github.com/mx-space)</generator>
<docs>https://mx-space.js.org</docs>
<image>
    <url>https://shiro.mizore.space/api/v2/objects/avatar/wx9pfcoi89e731boke.jpg</url>
    <title>A.Mizore's Blog</title>
    <link>https://shiro.mizore.space/</link>
</image>
<item>
    <title>缺少行动力会错失很多机会</title>
    <link>https://shiro.mizore.space/notes/1</link>
    <pubDate>Sat, 31 May 2025 05:14:16 GMT</pubDate>
    <description>花了半个多月才下定决心做出了重大的决定，今天终于能够静下心来做点事情了。久违地找回以前那种安静地思考</description>
    <content:encoded><![CDATA[
      <blockquote>该渲染由 marked 生成，可能存在排版问题，最佳体验请前往：<a href='https://shiro.mizore.space/notes/1'>https://shiro.mizore.space/notes/1</a></blockquote>
      <p>花了半个多月才下定决心做出了重大的决定，今天终于能够静下心来做点事情了。久违地找回以前那种安静地思考的感觉，让我感觉之前的焦虑地度过的时间很多是浪费时间，由此想到了行动力这个词。</p>
<p>什么是行动力？我觉得就是想做一件事后是否能够很快地制定计划，开始实施。 </p>
<p>但是我却是属于那种做事前会考虑很多的人，因为之前经常会因为考虑地太少导致了偏离预期的结果，故而总觉得做事前应该多考虑一下。这样的思考方式会带来一个很大的问题，就是人不可能预测未来，很多事情只有做了才知道结果，做的过程也会随着实际的情况重新制定计划，甚至是目标。不采取行动，过多地空想只是浪费时间。</p>
<p>那么想到什么就要去做就是好的吗？显然不是，再往前推几年的时候，我也经常因此做了很多错事。实际上两个极端都不可取，但，究竟如何权衡两者的关系呢？我不知道，不过从今天开始，就不断地思考和实践这个问题。</p>
<p>今天的学习生活重新回到正轨，接着写毕业论文，发现之前思考的问题并没有解决，明明之前的一年多的时间有很多机会和老师交流交流，只要自己主动一下。但是我是个社恐选手，问之前总是因考虑自己的问题是不是太蠢了，老师愿不愿意回答而退缩，导致到了现在，快毕业了，还是没有搞清楚，让我感觉有些后悔。而之所以之前的一年总是畏畏缩缩就是因为再之前的一段时间，我希望勇敢地把自己的想法说出来，总是憋着只会错失机会。这种做法有些得到了好的结果，但也有很多时候事后发现自己的想法太蠢了，导致了后面不太敢直接表达了。结果就是去年那一年的时间都没怎么和别人讨论问题，现在回想起来，其实有很多问题并不是蠢问题，却因为畏畏缩缩，没有和别人交流。</p>
<p>再往后就想到了行动力这个词，学校有很多求真严谨的老师，没能和这些老师讨论问题是学生生涯的遗憾。现在已经把问题具体的细节忘记了，也没了当时对那些问题求知的激情了，现在再去问老师已经无济于事了，因为我已经下定决心离开会计学，全身心地转向学习计算机了。下定这个决心也是花了很长的时间，之前过得很焦虑，现在接着写毕业论文就发现只要行动起来，所有的焦虑就一扫而空了。当然，不是说之前的思考就是毫无意义的，因为有些问题不想好了，后面遇到只会重新陷入焦虑，摇摆不定，只有考虑清楚了，才能够坚定地走下去。</p>
<p>人生是一定会有些遗憾的，无论是多么成功的人，更何况是我。今天把这些记录下来，是希望过一段时间后的自己再看到这篇文章，能够接着思考这个问题，而不是像去年那样错失很多机会。</p>

      <p style='text-align: right'>
      <a href='https://shiro.mizore.space/notes/1#comments'>看完了？说点什么呢</a>
      </p>
    ]]>
    </content:encoded>
  <guid isPermaLink="false">683a90283caa4c3ba9f71e49</guid>
  <category>notes</category>
false
 </item>
  <item>
    <title>mac上powershell使用menu complete</title>
    <link>https://shiro.mizore.space/posts/foobar/menucompleteOnMac</link>
    <pubDate>Sun, 02 Feb 2025 06:24:56 GMT</pubDate>
    <description>原因

似乎是因为mac上ctrl+spacebar被系统占用了，导致PSReadLine key </description>
    <content:encoded><![CDATA[
      <blockquote>该渲染由 marked 生成，可能存在排版问题，最佳体验请前往：<a href='https://shiro.mizore.space/posts/foobar/menucompleteOnMac'>https://shiro.mizore.space/posts/foobar/menucompleteOnMac</a></blockquote>
      <h1>原因</h1>
<p>似乎是因为mac上ctrl+spacebar被系统占用了，导致PSReadLine key handlers用不了ctrl+spacebar。</p>
<p>可以参考这个<a href="https://github.com/PowerShell/PSReadLine/issues/639">issue</a></p>
<h1>解决方案</h1>
<h2>换绑</h2>
<p>可以使用<code>Set-PSReadLineKeyHandler -Chord &#39;Ctrl+Spacebar&#39; -Function MenuComplete</code>换绑，但是我希望和Windows的按键尽量保持一致，我的主力机是Windows，而且ctrl+spacebar很好用，所以没有采用。</p>
<h2>映射到不常用的按键或字符</h2>
<p>可以映射到一个不常用的字符比如<code>ç aka Alt+C</code>，然后在终端，比如我用的iTerm 2，将ctrl+spacebar映射到<code>ç</code>。</p>

      <p style='text-align: right'>
      <a href='https://shiro.mizore.space/posts/foobar/menucompleteOnMac#comments'>看完了？说点什么呢</a>
      </p>
    ]]>
    </content:encoded>
  <guid isPermaLink="false">679f0fb85d8e655720aea283</guid>
  <category>posts</category>
<category>折腾</category>
 </item>
  <item>
    <title>解决cfw allow lan无法通过防火墙的问题</title>
    <link>https://shiro.mizore.space/posts/foobar/cfw-allow-lan</link>
    <pubDate>Sun, 01 Dec 2024 02:03:07 GMT</pubDate>
    <description>网上虽然有很多教学，在clash for windows中点一下allow lan或者在配置文件中写</description>
    <content:encoded><![CDATA[
      <blockquote>该渲染由 marked 生成，可能存在排版问题，最佳体验请前往：<a href='https://shiro.mizore.space/posts/foobar/cfw-allow-lan'>https://shiro.mizore.space/posts/foobar/cfw-allow-lan</a></blockquote>
      <p>网上虽然有很多教学，在clash for windows中点一下allow lan或者在配置文件中写一个<code>allow-lan: true</code>就行了，但是我这里不行。测试关闭防火墙又可以了，但是我在防火墙已经允许了Clash for Windows。最后发现需要在防火墙把位于<code>&lt;cfw folder&gt;\resources\static\files\win\x64</code>的<code>clash-win64.exe</code>允许才可以</p>
<p></p>
<p>猜测是因为正常流量是由cfw接管，但是allow lan则是直接由clash core接管</p>

      <p style='text-align: right'>
      <a href='https://shiro.mizore.space/posts/foobar/cfw-allow-lan#comments'>看完了？说点什么呢</a>
      </p>
    ]]>
    </content:encoded>
  <guid isPermaLink="false">674bc3db9a8ae990b15b339f</guid>
  <category>posts</category>
<category>折腾</category>
 </item>
  <item>
    <title>ctrl + space</title>
    <link>https://shiro.mizore.space/posts/foobar/ctrl%2Bspace</link>
    <pubDate>Sun, 01 Dec 2024 01:57:40 GMT</pubDate>
    <description>非常好视频，使我PowerShell旋转

看到一个很好的关于PowerShell的使用教学视频Qu</description>
    <content:encoded><![CDATA[
      <blockquote>该渲染由 marked 生成，可能存在排版问题，最佳体验请前往：<a href='https://shiro.mizore.space/posts/foobar/ctrl%2Bspace'>https://shiro.mizore.space/posts/foobar/ctrl%2Bspace</a></blockquote>
      <h1>非常好视频，使我PowerShell旋转</h1>
<p>看到一个很好的关于PowerShell的使用教学视频<a href="https://www.youtube.com/watch?v=sKAw5E44aiM">Quick Intro to PSReadLine PowerShell Module</a>，以及其实微软的<a href="https://learn.microsoft.com/en-us/powershell/scripting/learn/shell/using-predictors?view=powershell-7.4">官方文档</a>也写的很好，可惜之前没有发现。</p>
<p>但是，其中很好用的PSReadLine MenuComplete需要的快捷键是Ctrl + Spacebar，不知是微软的原因，还是搜狗的原因，只要输入法不是美式键盘，就会提前被截获，变成切换中英的快捷键。网上的修改输入语言热键的办法也没有用。最后还是通过修改注册表完美解决的。</p>
<h2>MenuComplete</h2>
<p></p>
<h1>修改注册表(完美解决)</h1>
<hr>
<p>将以下内容保存到<code>shortcut.reg</code>文件中，双击即可</p>
<pre><code class="language-registry">Windows Registry Editor Version 5.00
 
[HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:00,00,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:00,00,00,00
 
[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:00,00,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:00,00,00,00
</code></pre><blockquote>
<p>[!NOTE]
修改注册表之前一定要记得备份</p>
</blockquote>
<p>虽然，我并不知道这些key到底修改了什么，不过似乎是把输入语言热键的切换语言输入法的按键变为无了</p>
<h1>AutoHotKey(不完美解决)</h1>
<hr>
<p>在AutoHotKey v2中使用以下脚本</p>
<pre><code class="language-">^Space:: {
    ControlSend "^ ",, "A"
}

; v1的话用以下脚本
; ^Space::ControlSend,, ^{Space}, A</code></pre><p>但是，似乎是因为这个命令只会将Ctrl + Spacebar传给最上层控件，对PSReadLineKeyHandler无效。但是对VS Code，idea倒是有用</p>

      <p style='text-align: right'>
      <a href='https://shiro.mizore.space/posts/foobar/ctrl%2Bspace#comments'>看完了？说点什么呢</a>
      </p>
    ]]>
    </content:encoded>
  <guid isPermaLink="false">674bc2949a8ae990b15b3068</guid>
  <category>posts</category>
<category>折腾</category>
 </item>
  <item>
    <title>Regression Analysis —— from Regression to OLS(未完工)</title>
    <link>https://shiro.mizore.space/posts/scientificresearch/regressionanalysis</link>
    <pubDate>Mon, 13 May 2024 09:27:01 GMT</pubDate>
    <description>本文是基于非数学系的概率论与数理统计内容，对计量经济学中的回归(Regression)进行的分析。主</description>
    <content:encoded><![CDATA[
      <blockquote>该渲染由 marked 生成，可能存在排版问题，最佳体验请前往：<a href='https://shiro.mizore.space/posts/scientificresearch/regressionanalysis'>https://shiro.mizore.space/posts/scientificresearch/regressionanalysis</a></blockquote>
      <p>本文是基于非数学系的概率论与数理统计内容，对计量经济学中的回归(Regression)进行的分析。主要参考的教材为中科大陈希儒教授的概率论与数理统计和Wooldridge的Introductory Econometrics: A Modern Approach。同时推荐看一下李子奈教授的计量经济学和洪永淼教授的高级计量经济学及其B站的课程，辅助理解。</p>
<p>如陈教授在书中所言，对于概率论的理解不应光是形式地看待一些分析公式，更重要的是要分析其概率意义及直观理解，这样才能加深理解。而科研则是概率论应用的一个非常好的场景。</p>
<p>但是很多研究者对计量经济学的模型的态度是，只要知道结果的含义即可，这些计量的方法只不过是工具而已。这样的态度使得计量经济学只是一个黑箱，仿佛把数据丢进去，产出的结果是我们想要的，便证明了我们的想法。</p>
<p>或许，对于一个只是想发论文过上更丰厚的物质生活的人来说，这并无大碍。但是，对于一个想要进行真正研究的人来说，我认为这样的态度是完全不可取的。如果不对计量模型有一定程度的理解，很容易就会漏掉一些信息，因为所有的模型都有缺陷，都有很多的假设，我们在解释模型时，应当对这些缺陷予以考虑，才称得上是严谨。而严谨，我认为是研究必须要有的。</p>
<p>故本文以一个非数学系的学生的水平，以相对严谨的态度，分析<strong>回归(Regression)</strong>的理论基础与现实的直观理解。</p>
<!-- more -->

<h1>1. 一个简洁但严谨的理论分析</h1>
<hr>
<p>以MSE作为估计的衡量标准，此时<span class="katex-render">g(X)=E(Y|X)</span>使得<span class="katex-render">\text{MSE}(g)=E[Y-g(X)]^2</span>最小。定义<span class="katex-render">\varepsilon\equiv Y-E(Y|X)</span>可得<span class="katex-render">Y=E(Y|X)+\varepsilon</span>，此时<span class="katex-render">E(\varepsilon|X)=0</span></p>
<p>假定<span class="katex-render">Y=\beta^\prime X+\varepsilon</span>，同时假定<span class="katex-render">E(\varepsilon|X)=0</span>，便可得<span class="katex-render">E(Y|X)=\beta^\prime X</span></p>
<p>根据OLS方法，可得<span class="katex-render">\hat\beta</span></p>
<p>实际上OLS估计的<span class="katex-render">\hat \beta</span>是线性拟合的最优值<span class="katex-render">\beta^\ast</span>的一致估计，而<span class="katex-render">E(\varepsilon|X)=0</span>和<span class="katex-render">Y=X^\prime\beta+\varepsilon</span>保证了该值是均方误最优值<span class="katex-render">\beta^o</span></p>
<p>以上便是一个本文分析的大纲，一开始看不懂无妨，后面都会有很详细的讨论</p>
<h1>2. 社会科学在研究什么</h1>
<hr>
<p><a href="https://www.bilibili.com/video/BV1ktbQe2Epk/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=fa5c15b936ced770286fc2a57a53a136">因果推断实证研究方法_江艇</a> 0:43:00</p>
<p>江艇老师认为，经济学研究的是趋势，而并非确定值。也就是说即使条件期望函数是非线性的，但是总体回归函数是条件期望的最佳线性拟合，同时OLS是总体回归函数的一致估计量，虽然与条件期望函数不一致，但是趋势应当是一致的，可以作为因果关系的佐证。</p>
<h1>3. 所需的概率论与数理统计前置知识</h1>
<hr>
<p>在看后面的内容之前，应当确保自己掌握了这些前置知识</p>
<h2>可以在B站看一些课程辅助理解</h2>
<p>强烈推荐洪永淼教授的高级计量经济学，看之前应该把第二章看了，因为这部分会说一些课程的约定，比如<span class="katex-render">X</span>, <span class="katex-render">x</span>, <span class="katex-render">X^\prime</span>分别代表什么</p>
<h2>前置的微积分与线性代数知识</h2>
<p>概率论有许多推导其实会涉及到微积分与线性代数的少量知识，尤其是二重积分，会经常用到</p>
<h2>基本概念</h2>
<ul>
<li>随机变量及其概率分布</li>
<li>随机变量的数字特征</li>
<li>参数估计</li>
<li>假设检验</li>
</ul>
<h2>必须深刻理解的概念</h2>
<p>基本概念的内容很多，但是至少也应当对简单情形理解。而其中有一些概念对于理解回归至关重要。</p>
<ul>
<li>条件概率分布与随机变量的独立性</li>
<li>条件期望，尤其是迭代期望法则</li>
<li>总体与样本</li>
<li>估计量与估计值，尤其是一些常见的估计量，更重要的是理解什么是估计量，与估计值的区别是什么</li>
<li>大数定律和中心极限定理</li>
<li>矩估计和极大似然估计</li>
<li>重要参数的检验</li>
</ul>
<p>其中最为重要的就是<strong>迭代期望法则(Law of Iterated Expectation)</strong>和<strong>条件概率分布与条件期望</strong></p>
<h2>迭代期望法则(Law of Iterated Expectation)</h2>
<p><span class="katex-render">$\begin{equation*}E[E(Y|X)]=E(Y)\end{equation*}$</span></p>
<p>一定要自己<a href="https://www.zhihu.com/question/22996373/answer/3274277491">推导</a>一遍以加深理解，同时也要理解其推广形式（陈希儒《概率论与数理统计》3.1.3 条件数学期望（条件均值））</p>
<h1>4. 回归(Regression)</h1>
<hr>
<p><strong>回归</strong>(Regression)这个术语是英国生物学家兼统计学家F • 高尔顿在1886年左右提出来的。人们大概都注意到，子代的身高与其父母的身高有关。高尔顿以父母的平均身高<span class="katex-render">X</span>作为自变量，其一成年儿子的身高<span class="katex-render">Y</span>为因变量。他观察了1074对父母及其一成年儿子的身高，将所得<span class="katex-render">(X,Y)</span>值标在直角坐标系上，发现二者的关系近乎一条直线，有如下图所示。总的趋势是<span class="katex-render">X</span>增加时<span class="katex-render">Y</span>倾向于增加——这是意料中的结果。有意思的是，高尔顿对所得数据做了深入一层的考察，而发现了某种有趣的现象。</p>
<p>高尔顿算出这1074个<span class="katex-render">X</span>值的算术平均为<span class="katex-render">\bar X</span>=68英寸（1英寸为2.54厘米），而1074个<span class="katex-render">Y</span>值的算术平均为<span class="katex-render">\bar Y</span>=69英寸，子代身高平均增加了1英寸，这个趋势现今人们也注意到。以此为据，人们可能会这样推想：如果父母平均身高为<span class="katex-render">a</span>英寸，则这些父母的子代平局身高应<span class="katex-render">a+1</span>英寸，即比父代多1英寸。但高尔顿观察的结果与此不符，他发现：当父母平均身高为72英寸时，他们的子代身高平均只有71英寸，不仅达不到预计的72+1=73英寸，反而比父母平均身高小了。反之，若父母平均身高为64英寸，则观察数据显示子代平均身高为67英寸，比预计的64+1=65英寸要多。</p>
<p>高尔顿对此的解释是：大自然有一种约束机制，使人类身高分布保持某种稳定形态而不作两极分化。这就是一种使身高“回归于中心”的作用。例如，父母身高平均为72英寸，比他们这一代平均身高68英寸高出许多，“回归于中心”的力量把他们子代的身高拉回来一些：其平均身高只有71英寸，反比父母平均身高小，但仍超过子代全体平均69英寸。反之，当父母平均身高只有64英寸——远低于他们这一代的平均值68英寸时，”回归于中心“的力量将其子代身高拉回去一些，其平均值达到67英寸，增长了3英寸，但仍低于子代全体平均值69英寸。</p>
<p>正是通过这个例子，高尔顿引入了“回归”这个名词。现在我们觉得，高尔顿的例子只反映了变量关系中的一种情况，在其他涉及变量关系的众多情况中，多不必如此，故拿这个名称作为变量关系统计分析的称呼，实不见得恰当。但这个名词现今已沿用成习，如硬要改变，反觉多此一举了。（摘自陈希儒《概率论与数理统计》6.1末）</p>
<h2>计量模型</h2>
<p>我们的计量模型实际上也是在做这件事，但是，我们一般假设，<span class="katex-render">E(Y|X)</span>是线性的，即<span class="katex-render">E(Y|X)=\beta^\top X</span>。</p>
<p>同时要强调，<span class="katex-render">Y=E(Y|X)+\varepsilon</span>是一个恒等式，仅仅需要<span class="katex-render">E(Y|X)</span>存在即可，一定要深刻理解这个概念。或许，你需要先全看一遍，才能理解这句话。</p>
<p>而条件期望函数(Conditional Expectation Function, CEF)并不一定是线性的，一定要注意辨析，<a href="https://www.zhihu.com/question/264622781/answer/286098784">参考</a>。</p>
<h2>regression function and regression model</h2>
<p>在洪永淼教授的Lecture Notes on ADVANCED ECONOMETRICS中，将<span class="katex-render">E(Y|X)</span>定义为Regression Function，而<span class="katex-render">Y=X^\prime\beta+\varepsilon</span>定义为Linear Regression Model</p>
<p>Wooldridge在Introductory Econometrics: A Modern Approach中定义<span class="katex-render">E(Y|X)</span>为Population Regression Function</p>
<h1>5. 回归好坏的衡量标准——MSE和MAE</h1>
<hr>
<p>在经典回归模型中，我们希望用解释变量(regressand)<span class="katex-render">X</span>的函数<span class="katex-render">g(X)</span>来预测被解释变量(regressor)<span class="katex-render">Y</span>。此时需要一个标准来测度<span class="katex-render">g(X)</span>与<span class="katex-render">Y</span>的接近程度，<strong>均方误(mean squared error, MSE)准则</strong>最常被使用，MSE是预测误差（预测值<span class="katex-render">g(X)</span>与目标<span class="katex-render">Y</span>之差）的平方的期望，表达式如下</p>
<p><span class="katex-render">$\begin{equation*}\text{MSE}(g)=E[Y-g(X)]^2=\iint[y-g(x)]^2f_{XY}(x,y)dxdy\tag{1}\end{equation*}$</span></p>
<p>显然，MSE越小，<span class="katex-render">g(X)</span>对<span class="katex-render">Y</span>的预测能力越强。因此现在的问题转换为，<strong>求解使MSE最小的函数<span class="katex-render">g(\cdot)</span></strong>，注意到MSE是函数<span class="katex-render">g(\cdot)</span>的函数。</p>
<p>事实上，<strong>条件均值<span class="katex-render">E(Y|X)</span>就是使MSE最小的函数<span class="katex-render">g_0(X)</span></strong>，可以用求微分和方差分解两种方法证明（证明见此<a href="https://zhuanlan.zhihu.com/p/107780294">文章</a>）。</p>
<h2><span class="katex-render">E(Y|X)</span>是<span class="katex-render">X</span>而非<span class="katex-render">Y</span>的函数</h2>
<p>一定要深刻理解此概念</p>
<h2>另一标准——MAE</h2>
<p>MSE是衡量<span class="katex-render">g(X)</span>对<span class="katex-render">Y</span>的预测能力的准则之一，但非唯一准则。例如，平均绝对误差(mean absolute error, MAE)，</p>
<p><span class="katex-render">$\begin{equation*}\text{MAE}(g)=E|Y-g(X)|\end{equation*}$</span></p>
<p>此时，<strong>使MAE最小的函数<span class="katex-render">g(X)</span>是条件中位数</strong>，分位数回归采用的正是该准则。</p>
<p>相比MAE，MSE具有连续可导的优良性质。</p>
<h1>6. Y=E(Y|X)+ε是一个恒等式</h1>
<hr>
<p>认为<span class="katex-render">Y=E(Y|X)+\varepsilon</span>是一个假设，是常见的误区。</p>
<p>事实上，如果<span class="katex-render">E(Y|X)</span>存在，我们总可以写成</p>
<p><span class="katex-render">$\begin{equation*}Y=E(Y|X)+\varepsilon\end{equation*}$</span></p>
<p>其中<span class="katex-render">\varepsilon</span>被称为回归扰动项，同时具有以下属性</p>
<p><span class="katex-render">$\begin{equation*}E(\varepsilon|X)=0\end{equation*}$</span></p>
<p>实际上，<span class="katex-render">\varepsilon</span>是被定义出来的，即<span class="katex-render">\varepsilon=Y-E(Y|X)</span>，从而</p>
<p><span class="katex-render">$\begin{equation*}Y=E(Y|X)+\varepsilon\end{equation*}$</span></p>
<p>作为一个社科研究者，也要清楚，<span class="katex-render">E(Y|X)</span>本身并不说明任何的<span class="katex-render">Y</span>和<span class="katex-render">X</span>之间的因果关系。</p>
<p>更多讨论见下一节，以及参考洪永淼教授的<a href="https://www.bilibili.com/video/BV1pW41117rs?p=6&vd_source=fa5c15b936ced770286fc2a57a53a136">高级计量经济学</a>课程讲义定理2.4部分及其讲解</p>
<h1>7. 零条件均值假设的由来与分析</h1>
<hr>
<h2>在MSE中</h2>
<p>假定<span class="katex-render">g_0(X)=E(Y|X)</span>，同时定义<span class="katex-render">\varepsilon=Y-E(Y|X)</span>，则可证</p>
<p><span class="katex-render">$\begin{aligned}E(\varepsilon|X)&=E[Y-E(Y|X)|X]\\ &=E(Y|X)-E[E(Y|X)|X]\\ &=E(Y|X)-E[g_0(X)|X]\\ &=E(Y|X)-g_0(X)\\ &=0\end{aligned}$</span></p>
<p>其中用到了性质<span class="katex-render">E[c(X)|X]=c(X)</span>，详见Wooldridge的Introductory Econometrics: A Modern Approach附录B.4。</p>
<h2>这是一个比<span class="katex-render">E(\varepsilon)=0</span>更强的假设</h2>
<p><span class="katex-render">E(\varepsilon)=0</span>经常被误解为比<span class="katex-render">E(\varepsilon|X)=0</span>更强的假设，甚至错误的认为<span class="katex-render">E(\varepsilon)=0</span>可以推出<span class="katex-render">E(\varepsilon|X)=0</span>。</p>
<p>事实上，相反，由<span class="katex-render">E(\varepsilon|X)=0</span>可以推出<span class="katex-render">E(\varepsilon)=0</span>，只需用迭代期望法则</p>
<p><span class="katex-render">$\begin{equation*}E[E(\varepsilon|X)]=E(\varepsilon)\end{equation*}$</span></p>
<h2>为什么需要这一假定？</h2>
<p>事实如上一节所讲，只要<span class="katex-render">E(Y|X)</span>存在，<span class="katex-render">Y=E(Y|X)+\varepsilon</span>是一个恒等式，同时<span class="katex-render">E(\varepsilon|X)=0</span>也必然成立，为什么我们还需要零条件均值假定？</p>
<p>实际上在于假定<span class="katex-render">E(Y|X)=\beta^\prime X</span></p>
<p>假设<span class="katex-render">Y=\beta^\prime X+\varepsilon</span>，若<span class="katex-render">E(\varepsilon|X)=0</span>，则</p>
<p><span class="katex-render">$\begin{align*}E(Y|X)&=E(X^\prime\beta|X)+E(\varepsilon|X)\\ &=X^\prime\beta\end{align*}$</span></p>
<p>若<span class="katex-render">E(\varepsilon|X)\neq0</span>，则</p>
<p><span class="katex-render">$\begin{align*}E(Y|X)&=E(X^\prime\beta|X)+E(\varepsilon|X)\\ &=X^\prime\beta+E(\varepsilon|X)\\ &\neq X^\prime\beta\end{align*}$</span></p>
<p>也就是说，零条件均值假设是为了让总体回归函数(Population Regression Function, PRF)成为我们期望的形式。在线性回归中，便是<span class="katex-render">E(Y|X)=\beta^\prime X</span>。否则<span class="katex-render">E(Y|X)</span>是由<span class="katex-render">X^\prime\beta</span>和<span class="katex-render">E(\varepsilon|X)</span>共同决定的，我们便无法通过样本<span class="katex-render">X</span>正确地估计<span class="katex-render">E(Y|X)</span>的系数，甚至连形式都无法确定。</p>
<p>而回归的系数无偏，在我看来，或许只是这个假定的副产品，不如满足线性形式更加重要，但是很多教科书并不会提这个原因。</p>
<p>一个简单例子可见该<a href="https://zhuanlan.zhihu.com/p/111432599">文章</a>，李子奈教授在《计量经济学》中的讨论以及Wooldridge在Introductory Econometrics: A Modern Approach的2.1节末的讨论。</p>
<h1>8. 何谓内生性与控制变量</h1>
<hr>
<h2>问题</h2>
<p>什么是正确的模型？</p>
<p><span class="katex-render">E(Y|X)</span>吗？</p>
<p><span class="katex-render">\frac{\text{d}E(Y|X)}{\text{d}X}</span>为什么是X对Y的边际效应(the marginal effect of X on Y)？</p>
<h2>思考（我还没能回答上面的问题）</h2>
<p>考虑一个情境，现实中的<span class="katex-render">Y</span>的函数为<span class="katex-render">Y=2X_1+\frac 1 4 X_2+\frac 1 4 X_3</span>，同时<span class="katex-render">X_1,X_2,X_3\sim i.i.d.</span>，且<span class="katex-render">X_1\sim \text{N(1,1)}</span>。但是，我们并不知道</p>
<p>此时我们用<span class="katex-render">Y=\beta_0+\beta_1X_1+\varepsilon</span>对<span class="katex-render">Y</span>建模，肯定是一个对<span class="katex-render">E(Y|X_1)</span>的正确建模，但是<span class="katex-render">X_2,X_3</span>是否应该当作控制变量呢？</p>
<p>首先考虑模型</p>
<p><span class="katex-render">$\begin{equation*}\begin{split}Y&=\beta_0+\beta_1X_1+\varepsilon\\ &=X^\prime\beta+\varepsilon\end{split}\tag{1}\end{equation*}$</span></p>
<p>肯定存在一个<span class="katex-render">\beta^o\in\mathbb{R}</span>，使得MSE最小，且此时<span class="katex-render">\beta^\star=[E(XX^\prime)]^{-1}E(XY)=\beta^o</span>。同时，<span class="katex-render">E(\varepsilon|X_1)=0</span>也必然成立。</p>
<p>证明：</p>
<p>首先有</p>
<p><span class="katex-render">$\begin{align*}E(Y|X_1)&=E(2X_1+\frac 1 4 X_2+\frac 1 4 X_3|X_1)\\ &=E(2X_1|X_1)+E(\frac 1 4 X_2+\frac 1 4 X_3|X_1)\\ &=2X_1+E(\frac 1 4 X_2+\frac 1 4 X_3)\\ &=2X_1+\frac 1 2\end{align*}$</span></p>
<p>也就是说<span class="katex-render">\beta^o=\left(\frac 1 2,2\right)^\prime</span>使得MSE最小，此时有</p>
<p><span class="katex-render">$\begin{align*}E(\varepsilon|X_1)&=E(Y-\frac 1 2-2X_1|X_1)\\ &=E(\frac 1 4 X_2+\frac 1 4 X_3-\frac 1 2|X_1)\\ &=0\end{align*}$</span></p>
<p>此时肯定还有<span class="katex-render">[E(XX^\prime)]^{-1}E(XY)=\left(\frac 1 2,2\right)^\prime</span>和<span class="katex-render">E(\hat\beta)=\left(\frac 1 2,2\right)^\prime</span>，其中<span class="katex-render">\hat\beta</span>为OLS的估计量，即<span class="katex-render">\hat\beta=(X^\prime X)^{-1}X^\prime Y</span>。但是先不证了。</p>
<h1>9. 截距项的含义</h1>
<hr>
<p>The intercept <span class="katex-render">\beta^o_0</span> corresponds to the variable <span class="katex-render">X_0</span> = 1, which is always uncorrelated with any other random variables. It captures the &quot;average effect&quot; on <span class="katex-render">Y</span> from all possible factors rather than the explanatory variables in <span class="katex-render">X_t</span>. For example, consider the standard Capital Asset Pricing Model (CAPM)</p>
<p><span class="katex-render">$\begin{equation*}E(Y|X)=\beta^o_0+\beta^o_1X_1\end{equation*}$</span></p>
<p>where <span class="katex-render">Y</span> is the excess portfolio return (i.e., the difference between a portfolio return and a risk-free rate) and <span class="katex-render">X_1</span> is the excess market portfolio return (i.e., the difference between the market portfolio return and a risk-free rate). Here, <span class="katex-render">\beta^o_0</span> represents the average pricing error. When CAPM holds, <span class="katex-render">\beta^o_0</span> = 0. Thus, if the data generating process has <span class="katex-render">\beta^o_0</span> &gt; 0, CAPM underprices the portfolio. If <span class="katex-render">\beta^o_0</span> &lt; 0, CAPM overprices the portfolio.</p>
<p>No economic theory ensures that the functional form of <span class="katex-render">E(Y|X)</span> must be linear in <span class="katex-render">X</span>. Nonlinear functional form in <span class="katex-render">X</span> is a generic possibility. Therefore, we must be very cautious about the economic interpretation of linear coefficients.</p>
<p>但是<span class="katex-render">R^2</span>依然不等于1，为什么？</p>
<p>可能是因为还有<span class="katex-render">\varepsilon</span>，因为<span class="katex-render">\beta^o_0</span>只代表了期望值</p>
<h1>A.1 拓展阅读</h1>
<hr>
<p>Granger and Machina(2006) conditional heteroskedaticity</p>
<p>Akaike(1973) AIC</p>
<h1>A.2 番外：区分T显著性与经济含义</h1>
<hr>
<p><a href="https://www.bilibili.com/video/BV1xd4y1G7ag?p=5&vd_source=fa5c15b936ced770286fc2a57a53a136">BV1xd4y1G7ag</a> P5 1:10:00 左右处</p>
<h2>思路</h2>
<p>对于</p>
<p><span class="katex-render">$\begin{equation*}T=\frac{\hat\beta_j-\beta_j}{se(\hat\beta_j)}\end{equation*}$</span></p>
<p>既可以是<span class="katex-render">\hat\beta_j</span>很大，也有可能是<span class="katex-render">se(\hat\beta_j)</span>很小，即精度很高。</p>
<p>这时要小心，我们只是在检验<span class="katex-render">\beta_j</span>是否为0。统计显著代表的是<span class="katex-render">\beta_j</span>很大概率不为0，但却不能一定说<span class="katex-render">\beta_j</span>具有经济显著性。而经济显著性，则要观察<span class="katex-render">\beta_j</span>代表的实际含义了。</p>
<p>可参考Wooldridge - Introductory Econometrics: A Modern Approach的4-2f Economic, or Practical, versus Statistical Significance P132</p>
<p>以及洪永淼 - Lecture Notes on ADVANCED ECONOMETRICS的3.7 Hypothesis Testing P35的remarks</p>

      <p style='text-align: right'>
      <a href='https://shiro.mizore.space/posts/scientificresearch/regressionanalysis#comments'>看完了？说点什么呢</a>
      </p>
    ]]>
    </content:encoded>
  <guid isPermaLink="false">66f67a65f44d3521171ffee8</guid>
  <category>posts</category>
<category>科研</category>
 </item>
  <item>
    <title>hexo + nginx 的远程Blog部署</title>
    <link>https://shiro.mizore.space/posts/foobar/hexo</link>
    <pubDate>Fri, 03 May 2024 10:43:57 GMT</pubDate>
    <description>整个工作流程的概念

主要是概念上的事情，一开始不了解应该看不懂，搭建完回来再看比较合适，当然懒得看</description>
    <content:encoded><![CDATA[
      <blockquote>该渲染由 marked 生成，可能存在排版问题，最佳体验请前往：<a href='https://shiro.mizore.space/posts/foobar/hexo'>https://shiro.mizore.space/posts/foobar/hexo</a></blockquote>
      <p>整个工作流程的概念</p>
<p>主要是概念上的事情，一开始不了解应该看不懂，搭建完回来再看比较合适，当然懒得看不看也无妨。</p>
<p>首先<code>Hexo</code>依赖于<code>Node.js</code>，而<code>Git</code>则是<code>Hexo</code>用于自动化上传的工具。</p>
<p><code>Nginx</code>作用是<code>web server</code>，帮我们自动处理<code>http request</code>。</p>
<p>从本地<code>Hexo</code>到服务器<code>Nginx</code>整个流程为，<code>Hexo</code>将我们写的<code>markdown</code>转译为基于<code>hexo-theme</code>的静态网页，<code>hexo deploy</code>将输出的<code>public</code>中的网页，即<code>hexo generate</code>生成的结果，用<code>Git</code>上传至<code>server</code>的<code>bare repository /home/hexo.git</code>，而<code>/home/hexo.git/hooks</code>中的<code>post-receive</code>自动帮我们将内容生成至<code>/home/hexo</code>，<code>Nginx</code>的配置文件<code>nginx.conf</code>则将<code>http request</code>的<code>root</code>指向了<code>/home/hexo</code>，因此访问<code>http://server_ip/</code>则根据<code>/home/hexo/index.html</code>生成了内容返回给用户</p>
<p>当然其实我不是计算机相关专业的，概念理解可能有误，以上只是我的粗浅理解</p>
<h1>环境依赖</h1>
<hr>
<table>
<thead>
<tr>
<th></th>
<th>环境</th>
<th>系统</th>
</tr>
</thead>
<tbody><tr>
<td>本机(Admin / local)</td>
<td>Node.js Hexo Git</td>
<td>Windows 11</td>
</tr>
<tr>
<td>服务器</td>
<td>Nginx Git</td>
<td>Ubuntu 22.04 LTS jammy on Aliyun ECS</td>
</tr>
<tr>
<td>VM</td>
<td>Node.js Hexo Git Nginx</td>
<td>Ubuntu 22.04 LTS jammy on VirtualBox</td>
</tr>
</tbody></table>
<p>Ubuntu VM只是怕服务器有啥误操作，因为不太会linux</p>
<h1>本机环境配置 - Windows</h1>
<hr>
<p>本机是将来对<code>server</code>以及<code>Blog</code>的<code>posts</code>进行管理的PC</p>
<h2>Node.js 安装</h2>
<p>官网就可以下，有时会有奇怪的bug，重装又没了</p>
<h3>Npm 的使用</h3>
<p>安装要用<code>-g</code>在<strong>全局</strong>安装，而且似乎有的包第一次安装要<code>--save</code>，且当前目录是hexo的工作目录</p>
<p><code>--save</code>的具体含义还没弄明白，似乎和node.js有关，似乎现在save默认是true了，但是不想深究了</p>
<h4>换cnpm和源</h4>
<p>Windows似乎要好一点，在Linux时最好用<a href="https://npmmirror.com/">npmmirror</a>换成cnpm，在Ubuntu VM用npm时没少受折磨</p>
<pre><code class="language-bash">npm install -g cnpm --registry=https://registry.npmmirror.com</code></pre><p>但是有时cnpm的search不好用，所以不换npm的源了就，npm用来search，cnpm进行安装</p>
<h2>Hexo 的安装</h2>
<p>官方有<a href="https://hexo.io/zh-cn/docs/">教程</a>，其中值得注意的是npm在全局安装hexo时要安装的是<code>hexo-cli</code>，即：</p>
<pre><code class="language-PowerShell">npm install hexo-cli install -g</code></pre><p>安装完后在<code>E:</code>建个<code>blog</code>，初始化hexo</p>
<pre><code class="language-PowerShell">mkdir E:\blog
cd E:\blog
hexo init</code></pre><p>在Ubuntu中<code>hexo init</code>默认会用npm进行安装，经常直接卡住，此时在<code>Git clone</code>完成后<code>Ctrl + C</code>直接干掉npm，然后<code>cnpm install</code>即可，效果与<code>hexo init</code>相同</p>
<p>之所以<code>hexo init</code>会<code>git clone</code>是因为<code>hexo init</code>进行初始化时的文件安装<code>hexo-cli</code>时并没有包含，是<code>hexo init</code>时从github的<a href="https://github.com/hexojs/hexo-starter">hexo-starter</a><code>git clone</code>过来的</p>
<p><code>git clone</code>卡住的话就需要对所用的<code>Shell</code>比如<code>PowerSehll</code>或者<code>Linux Bash</code>进行代理设置了</p>
<h3>hexo-deployer-git 安装</h3>
<p>用于向<code>server</code>进行推送，Hexo与Git进行沟通的插件</p>
<p>可能是必须要在Hexo的工作目录进行<code>--save</code>安装，不想深究，没有验证</p>
<pre><code class="language-PowerShell">npm install -g hexo-deployer-git --save</code></pre><p>如果后面出现Not found: git，查看一下Hexo的工作目录的<code>package.json</code>里的<code>dependencies</code>这个<code>key</code>的<code>value</code>里有无<code>hexo-deployer-git</code></p>
<p>如果没有的话需要再<code>hexo</code>的工作目录下用npm本地安装，不要<code>-g</code></p>
<h2>Git</h2>
<p><a href="https://git-scm.com/">官网</a>安装包一路回车</p>
<h1>服务器环境配置</h1>
<hr>
<p>Ubuntu应该是自带Git的，如果没有<code>apt install git</code>应该也可以直接用</p>
<h2>Nginx 的安装</h2>
<p>官网有详细的<a href="https://nginx.org/en/linux_packages.html#Ubuntu">安装教程</a>，一路复制粘贴即可。不想解释，因为我看不懂 -.-</p>
<h2>Nginx 的配置</h2>
<p>这是个麻烦事</p>
<h3>Nginx 的路径和配置文件</h3>
<p>配置nginx最好还是先搞清楚自己在干什么。首先nginx.org是我们用的<strong>Nginx Open Source</strong>，即免费版，nginx.com则是<strong>Nginx Plus</strong>，即付费版，故nginx.com的文档做的要好得多。。。</p>
<p>官方有提到不同的系统以及不同的nginx版本其配置文件可能不同，如果你是以root用户安装的，没有指定用户，那么Nginx应该在<code>/etc/nginx</code>，其主配置文件为<code>nginx.conf</code>，其他的诸如<code>/etc/nginx/sites-enabled</code>、<code>/etc/nginx/sites-availables</code>、<code>/etc/nginx/conf.d</code>里的配置文件均是以在<code>nginx.conf</code>中的如<code>http { include /etc/nginx/sites-enabled/*.conf;}</code>的形式生效的</p>
<p>由于我的Ubuntu VM用的是清华源，而<code>server</code>的Ubuntu的apt应该是默认的阿里源，结果相同系统，甚至版本相同，Nginx的配置文件结构完全不同，和网上教程也不一样，当时真是给我搞懵了。</p>
<p>如果不想折腾，直接修改<code>nginx.conf</code>即可，但是不建议。改成<code>conf.d/default.conf</code>被<code>include /etc/nginx/conf.d/*.conf;</code>我觉得更简洁</p>
<h3>Nginx server 的配置</h3>
<p>官方有详细的解释，我觉得以下几个有必要看一下：</p>
<ul>
<li><a href="https://nginx.org/en/docs/beginners_guide.html">Beginner’s Guide</a></li>
<li><a href="https://docs.nginx.com/nginx/admin-guide/web-server/web-server/">Configuring NGINX and NGINX Plus as a Web Server</a></li>
<li><a href="https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/">Serving Static Content</a></li>
</ul>
<h3>启动</h3>
<pre><code class="language-bash">systemctl start nginx # 启动nginx.service
systemctl enable nginx # 开机启动
systemctl status nginx # 如果启动成功应该会有绿色的active</code></pre><p>如果成功了的话默认配置用浏览器应该是可以直接http的80端口访问，nginx默认没记错是不监听443端口的。由于远程服务器没有GUI，所以只能远程http查看了，阿里的ECS要注意默认Ubuntu不开启ufw的——即防火墙，但是需要在ECS控制台的安全组开放端口。</p>
<p>默认应该是nginx的欢迎界面，如果有那就说明成功了。</p>
<h3>配置default.conf</h3>
<p>首先将<code>http{}</code>包裹的<code>include</code>改为<code>include /etc/nginx/conf.d/*.conf;</code>，然后在<code>default.conf</code>中进行编辑</p>
<p><strong>注意</strong>：不同文件结构不会有实质差异，主要还是看<code>/etc/nginx/nginx.conf</code>怎么配置的</p>
<pre><code class="language-">server {
	listen 80;
	server_name example.com forexample.com; # 你的域名，其实可以不写，详见官方文档
	rewrite ^(.*)$ https://$server_name$1 permanent; # 重定向至https
}

server {
	listen 443;
	server_name dwdadwa.love;
	ssl on;
	ssl_certificate /path/to/your/certificate.pem;
	ssl_certificate_key /path/to/your/certificate.key;
	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_prefer_server_ciphers on;

	location / {
	root /home/hexo; # 这里就是hexo的工作目录，准确的说是public被上传到的地方
	autoindex on;
	}
	# 像是error_page以及其实上面的ssl部分配置不填也可以，默认配置足矣
}</code></pre><p>以上只是一些能用的配置，如果想客制化，就得去官网看文档了</p>
<p>在这之后重启nginx.service</p>
<pre><code class="language-bash">systemctl restart nginx</code></pre><h3>关于SSL证书</h3>
<p>可以直接花钱在阿里买，但是我觉得个人博客的话Let&#39;s Encrypt足矣</p>
<h1>本机与服务器的互通 - hexo-git的自动化处理</h1>
<hr>
<p>有两种方式，第一种是蛋疼的方式是你写个md文件，手动上传至服务器，在服务器部署hexo，再用hexo将md转为静态网页，但是这一点都不程序员。</p>
<p>另一种则是hexo本身集成了的利用Git自动化上传</p>
<h2>在服务端</h2>
<p>在/home生成一个<code>bare repository</code>，约定俗成加个.git</p>
<pre><code class="language-bash">cd /home
git init hexo.git --bare</code></pre><p>至此需要将收到的<code>.git</code>还原，利用<code>git hooks</code>进行自动化处理</p>
<pre><code class="language-bash">cd hexo.git/hooks
vi post-receive</code></pre><p>将收到的内容放到/home/hexo里</p>
<pre><code class="language-">#! /bin/sh
git --work-tree=/home/hexo --git-dir=/home/hexo.git checkout -f</code></pre><p>然后修改一下这个文件的权限</p>
<pre><code class="language-bash">chmod +x post-receive</code></pre><h3>关于bare repository</h3>
<p><code>bare repo</code>相当于是普通repo下的<code>.git</code>文件夹，也就是说没有工作目录。之所以可以这么干其实是因为即使没有工作目录，<code>.git</code>中的内容其实就相当于压缩过的工作目录。可以自行尝试将一个裸仓库不用<code>--bare</code>进行<code>git clone</code>，你就会发现神奇般的所有工作目录都出现了。</p>
<p>比如在服务器上的<code>bare repository /home/git/hexo.git</code>，对其进行<code>git clone</code></p>
<pre><code class="language-bash">git clone -l /home/git/hexo.git /home/git/hexo</code></pre><p>然后你就会发现<code>/home/git/hexo</code>的工作目录文件与<code>/home/hexo</code>的文件相同，而<code>/home/git/hexo/.git</code>则与<code>/home/git/hexo.git</code>完全相同。这也是为什么Github复制的HTTPS都是<code>https://github.com/*/*.git</code></p>
<p>本来应该是为了节约带宽的，但是这里这么做是因为这样可以将Git与网页目录分离开，管理更加简洁。</p>
<h2>在管理端</h2>
<p>修改<code>hexo</code>工作目录中的<code>_config.yml</code>配置文件</p>
<pre><code class="language-">deploy:
	type: git
	repo: root@server_ip:/home/hexo.git
	branch: master</code></pre><p>之后就是执行自动化部署了</p>
<pre><code class="language-PowerShell">hexo clean
hexo g
hexo d</code></pre>
      <p style='text-align: right'>
      <a href='https://shiro.mizore.space/posts/foobar/hexo#comments'>看完了？说点什么呢</a>
      </p>
    ]]>
    </content:encoded>
  <guid isPermaLink="false">66f68c6d365830bea21a5d3b</guid>
  <category>posts</category>
<category>折腾</category>
 </item>
  
</channel>
</rss>