<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>2023s on TouchingFish.top</title><link>https://touchingfish.top/2023/</link><description>Recent content in 2023s on TouchingFish.top</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 30 Dec 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://touchingfish.top/2023/index.xml" rel="self" type="application/rss+xml"/><item><title>没营养的研究生周报（2021-2023）</title><link>https://touchingfish.top/2023/weekly-summary/</link><pubDate>Sat, 30 Dec 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/weekly-summary/</guid><description>&lt;h2 id="2023-2024-学年第一学期-第-18-周"&gt;2023-2024 学年第一学期 第 18 周&lt;/h2&gt;
&lt;p&gt;总 060 期
提交时间：2023年12月30日&lt;/p&gt;
&lt;p&gt;1.本周目标&lt;/p&gt;
&lt;p&gt;(1) 留意投稿反馈信息，并进行相应的调整
(2) 继续准备硕士毕业论文，以及自身发展的相关事务&lt;/p&gt;
&lt;p&gt;2.本周实际做的工作&lt;/p&gt;
&lt;p&gt;(1) 参考相关研究的硕士论文，确定了绪论和背景章节中需要涉及的基本内容
(2) 将先前准备课程作业（论文）的内容进行调整修改，作为一部分背景内容
(3) 每日关注期刊的投稿反馈信息（暂未提示受理，经上网搜索确认流程和状态并无异常，可能受欧美圣诞假期影响）&lt;/p&gt;
&lt;p&gt;3.目标是否完成。如未完成需说明未完成原因&lt;/p&gt;
&lt;p&gt;完成&lt;/p&gt;
&lt;p&gt;4.如何改进&lt;/p&gt;
&lt;p&gt;5.下周目标&lt;/p&gt;
&lt;p&gt;继续准备硕士毕业论文，以及自身发展的相关事务&lt;/p&gt;
&lt;p&gt;6.本周收获&lt;/p&gt;
&lt;p&gt;对相关研究硕士论文的框架，及绪论和背景部分的细节有了进一步的了解&lt;/p&gt;
&lt;h2 id="2023-2024-学年第一学期-第-17-周"&gt;2023-2024 学年第一学期 第 17 周&lt;/h2&gt;
&lt;p&gt;总 059 期
提交时间：2023年12月23日&lt;/p&gt;
&lt;p&gt;1.本周目标&lt;/p&gt;
&lt;p&gt;(1) 完成新期刊的投稿及材料提交等工作
(2) 规划硕士论文初稿写作及完成时间&lt;/p&gt;
&lt;p&gt;2.本周实际做的工作&lt;/p&gt;
&lt;p&gt;(1) 了解期刊 Proceeding B 的投稿要求，修改参考文献格式，重新准备稿件
(2) 整理期刊要求的论文数据信息（用于绘图的数据及README文件等），上传和提交投稿材料&lt;/p&gt;
&lt;p&gt;3.目标是否完成。如未完成需说明未完成原因&lt;/p&gt;
&lt;p&gt;完成&lt;/p&gt;
&lt;p&gt;4.如何改进&lt;/p&gt;
&lt;p&gt;5.下周目标&lt;/p&gt;
&lt;p&gt;(1) 留意投稿反馈信息，并进行相应的调整
(2) 继续准备硕士毕业论文，以及自身发展的相关事务&lt;/p&gt;
&lt;p&gt;6.本周收获&lt;/p&gt;
&lt;h2 id="2023-2024-学年第一学期-第-16-周"&gt;2023-2024 学年第一学期 第 16 周&lt;/h2&gt;
&lt;p&gt;总 058 期
提交时间：2023年12月16日&lt;/p&gt;
&lt;p&gt;1.本周目标&lt;/p&gt;
&lt;p&gt;(1) 完成稿件格式调整、逻辑和语义表达等的修改完善等工作
(2) 了解期刊投稿流程，上传稿件与材料&lt;/p&gt;</description></item><item><title>回归能做的事 / Simple Linear Regression Universe</title><link>https://touchingfish.top/2023/regression-universal-advantage/</link><pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/regression-universal-advantage/</guid><description>&lt;p&gt;这个系列走到了最后一篇。&lt;/p&gt;
&lt;p&gt;前面七篇文章论证了一件事：t检验、ANOVA、相关分析——你在基础统计课上学到的几乎所有参数检验，都是线性回归的特例。有些等价于简单回归，有些等价于加了固定效应的回归，有些等价于标准化后的回归。但归根结底，它们都住在 $Y = X\beta + \varepsilon$ 这栋楼里。&lt;/p&gt;
&lt;p&gt;这栋楼本身还远不止如此。今天聊聊：回归的框架为什么比传统检验&amp;quot;能打&amp;quot;那么多。&lt;/p&gt;
&lt;h2 id="t检验只能问一个是或否"&gt;t检验只能问一个&amp;quot;是或否&amp;quot;&lt;/h2&gt;
&lt;p&gt;t检验能回答的问题是：两组均值是否不同？&lt;/p&gt;
&lt;p&gt;能给你的输出是：t值、p值、&amp;ldquo;显著还是不显著&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;就这样。&lt;/p&gt;
&lt;p&gt;如果你想问&amp;quot;控制年龄之后，两组均值是否仍然不同？&amp;quot;——t检验答不了。如果你想问&amp;quot;剂量每增加一个单位，血压下降多少？&amp;quot;——t检验答不了。如果你想问&amp;quot;男性和女性对治疗的反应是否有差异？&amp;quot;——t检验可以分组做，但不能在一个模型里同时估计主效应和交互效应。&lt;/p&gt;
&lt;p&gt;回归框架下，这些问题全都是在一个模型里多加一行 $X$ 的事。&lt;/p&gt;
&lt;h2 id="加协变量从有没有差异到为什么有差异"&gt;加协变量：从&amp;quot;有没有差异&amp;quot;到&amp;quot;为什么有差异&amp;quot;&lt;/h2&gt;
&lt;p&gt;成组t检验告诉你：治疗组和对照组的血压有显著差异。&lt;/p&gt;
&lt;p&gt;回归可以告诉你：&lt;strong&gt;在控制了年龄、性别和基线血压之后&lt;/strong&gt;，治疗组和对照组的血压仍然有显著差异。&lt;/p&gt;
&lt;p&gt;只需要把模型从&lt;/p&gt;
$$
Y = \beta_0 + \beta_1 \cdot \rm{treatment} + \varepsilon
$$&lt;p&gt;扩展为&lt;/p&gt;
$$
Y = \beta_0 + \beta_1 \cdot \rm{treatment} + \beta_2 \cdot \rm{age} + \beta_3 \cdot \rm{sex} + \beta_4 \cdot \rm{baseline} + \varepsilon
$$&lt;p&gt;$\beta_1$ 的含义从&amp;quot;两组均值之差&amp;quot;变成了&amp;quot;&lt;strong&gt;其他条件不变时&lt;/strong&gt;，治疗组与对照组的血压差异&amp;quot;。从 association 到 conditional association，这是一大步。&lt;/p&gt;
&lt;p&gt;在医学研究中，不加协变量的分析几乎是不可发表的。因为随机对照试验（RCT）虽然理论上保证了组间可比性，但实际中总有运气不好的时候——万一治疗组平均年龄偏高呢？加协变量就是在统计上抹平这些偶然的不均衡。&lt;/p&gt;
&lt;p&gt;而t检验没有&amp;quot;加协变量&amp;quot;这个选项。你得另找方法——通常是回归。&lt;/p&gt;
&lt;h2 id="交互项效应不是一成不变的"&gt;交互项：效应不是一成不变的&lt;/h2&gt;
&lt;p&gt;t检验默认治疗效应在所有子群体中相同。回归可以加交互项：&lt;/p&gt;
$$
Y = \beta_0 + \beta_1 \cdot \rm{treatment} + \beta_2 \cdot \rm{sex} + \beta_3 \cdot (\rm{treatment} \times \rm{sex}) + \varepsilon
$$&lt;p&gt;$\beta_3$ 告诉你：男性和女性的治疗效应是否有显著差异？&lt;/p&gt;</description></item><item><title>r = β*</title><link>https://touchingfish.top/2023/pearson-correlation-regression/</link><pubDate>Fri, 08 Dec 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/pearson-correlation-regression/</guid><description>&lt;p&gt;Pearson相关系数 $r$ 是统计101的必修内容。定义是：&lt;/p&gt;
$$
r = \frac{\sum (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum (X_i - \bar{X})^2 \sum (Y_i - \bar{Y})^2}}
$$&lt;p&gt;就是&amp;quot;协方差除以两个标准差的乘积&amp;quot;。取值范围 $[-1, 1]$，绝对值越大说明线性相关越强。&lt;/p&gt;
&lt;p&gt;而回归系数 $\beta_1$ 是：&lt;/p&gt;
$$
\beta_1 = \frac{\sum (X_i - \bar{X})(Y_i - \bar{Y})}{\sum (X_i - \bar{X})^2}
$$&lt;p&gt;长得有点像，但不是同一个东西。$\beta_1$ 可以大于 $1$，单位取决于 $Y$ 和 $X$ 的单位。&lt;/p&gt;
&lt;p&gt;这两个公式之间有什么精确的关系？如果你把 $X$ 和 $Y$ 都标准化（减去均值再除以标准差），回归系数就变成了 $r$。&lt;/p&gt;
&lt;h2 id="标准化回归"&gt;标准化回归&lt;/h2&gt;
&lt;p&gt;定义标准化变量：&lt;/p&gt;
$$
X_i^* = \frac{X_i - \bar{X}}{s_X}, \quad Y_i^* = \frac{Y_i - \bar{Y}}{s_Y}
$$&lt;p&gt;其中 $s_X$ 和 $s_Y$ 分别是 $X$ 和 $Y$ 的样本标准差。标准化后，两个变量的均值都是 $0$，标准差都是 $1$。&lt;/p&gt;</description></item><item><title>固定效应回归的视角 / Paired T-test</title><link>https://touchingfish.top/2023/paired-t-test-fixed-effects/</link><pubDate>Mon, 20 Nov 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/paired-t-test-fixed-effects/</guid><description>&lt;p&gt;前面的文章一直在讲&amp;quot;某某检验等价于回归&amp;quot;。这一篇要讲一个&lt;strong&gt;不完全等价&lt;/strong&gt;的情况。&lt;/p&gt;
&lt;p&gt;配对t检验（paired t-test）不等价于普通的简单线性回归。但它等价于另一种回归——带个体固定效应的回归（fixed effects regression）。这种&amp;quot;不完全等价&amp;quot;反而能帮你理解回归框架的灵活性。&lt;/p&gt;
&lt;h2 id="配对t检验在做什么"&gt;配对t检验在做什么？&lt;/h2&gt;
&lt;p&gt;配对设计：每个受试者接受两种处理（或前后测量两次），你关心的是两种处理下结果是否有差异。比如：10个人吃药前和吃药后的血压变化。&lt;/p&gt;
&lt;p&gt;配对t检验的做法是：对每个人算差值 $D_i = Y_{i,\rm after} - Y_{i,\rm before}$，然后对差值做单样本t检验，$H_0: \mu_D = 0$。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;before&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="nf"&gt;c&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;130&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;142&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;128&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;135&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;140&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;132&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;138&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;129&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;136&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;133&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="nf"&gt;c&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;125&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;138&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;126&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;130&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;135&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;128&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;134&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;125&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;131&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;130&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;t.test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;paired&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Paired&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;before&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;-13.038&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;3.787e-07&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;alternative&lt;/span&gt; &lt;span class="n"&gt;hypothesis&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;true&lt;/span&gt; &lt;span class="n"&gt;mean&lt;/span&gt; &lt;span class="n"&gt;difference&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt; &lt;span class="n"&gt;equal&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;95&lt;/span&gt; &lt;span class="n"&gt;percent&lt;/span&gt; &lt;span class="n"&gt;confidence&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;-4.811372&lt;/span&gt; &lt;span class="m"&gt;-3.388628&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sample&lt;/span&gt; &lt;span class="n"&gt;estimates&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;mean&lt;/span&gt; &lt;span class="n"&gt;difference&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;-4.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="为什么普通回归不行"&gt;为什么普通回归不行？&lt;/h2&gt;
&lt;p&gt;如果你不管配对结构，直接把前后数据当独立样本做成组t检验：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;t.test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;var.equal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Two&lt;/span&gt; &lt;span class="n"&gt;Sample&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;before&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;-2.0014&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;0.06066&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;alternative&lt;/span&gt; &lt;span class="n"&gt;hypothesis&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;true&lt;/span&gt; &lt;span class="n"&gt;difference&lt;/span&gt; &lt;span class="kr"&gt;in&lt;/span&gt; &lt;span class="n"&gt;means&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt; &lt;span class="n"&gt;equal&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;95&lt;/span&gt; &lt;span class="n"&gt;percent&lt;/span&gt; &lt;span class="n"&gt;confidence&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;-8.4039&lt;/span&gt; &lt;span class="m"&gt;0.2039&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sample&lt;/span&gt; &lt;span class="n"&gt;estimates&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;mean&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="n"&gt;mean&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;130.2&lt;/span&gt; &lt;span class="m"&gt;134.3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你会发现t值和p值都跟配对检验不一样——通常配对检验的p值更小（因为它消除了个体间差异的干扰）。&lt;/p&gt;
&lt;p&gt;同样的，如果你跑一个&amp;quot;处理前后&amp;quot;的虚拟变量回归：&lt;/p&gt;
$$
Y = \beta_0 + \beta_1 \cdot \rm{after} + \varepsilon
$$&lt;p&gt;$\beta_1$ 的t检验等价于上面的独立样本t检验，不是配对t检验。因为这个回归把同一个人的前后两次测量当成两个独立的观测，忽略了个体间的相关性。&lt;/p&gt;
&lt;p&gt;配对设计的核心是：&lt;strong&gt;同一个人的两次测量不是独立的&lt;/strong&gt;。张三的血压无论吃药前后都可能比李四高——如果不控制这个&amp;quot;张三效应&amp;quot;，个体差异就会淹没处理效应。&lt;/p&gt;
&lt;h2 id="个体固定效应回归"&gt;个体固定效应回归&lt;/h2&gt;
&lt;p&gt;解决方案：给每个人加一个单独的截距。这就是个体固定效应模型（individual fixed effects model）：&lt;/p&gt;
$$
Y_{it} = \alpha_i + \beta \cdot \rm{after}_{it} + \varepsilon_{it}
$$&lt;p&gt;其中 $\alpha_i$ 是第 $i$ 个人的固定效应（一个只属于他/她的截距项），$\rm{after}_{it}$ 是&amp;quot;是否为处理后测量&amp;quot;的虚拟变量，$\beta$ 是我们关心的处理效应。&lt;/p&gt;</description></item><item><title>多个虚拟变量的回归 / One-way ANOVA</title><link>https://touchingfish.top/2023/one-way-anova-regression/</link><pubDate>Wed, 08 Nov 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/one-way-anova-regression/</guid><description>&lt;p&gt;前一篇文章证明了在两组比较中 $t^2 = F$，t检验、ANOVA、回归三者等价。&lt;/p&gt;
&lt;p&gt;现在从两组推广到多组。单因素ANOVA有 $k$ 个处理组（$k \ge 2$），想知道各组均值是否有差异。传统做法：算组间平方和、组内平方和、F统计量，查表做结论。&lt;/p&gt;
&lt;p&gt;回归视角：把 $k$ 个组编码为 $k-1$ 个虚拟变量，做多元线性回归，然后做整体F检验。&lt;/p&gt;
&lt;h2 id="从两组到多组问题在哪"&gt;从两组到多组：问题在哪？&lt;/h2&gt;
&lt;p&gt;两组时，一个虚拟变量就够了——$X=0$ 表示A组，$X=1$ 表示B组。多组时，你不能用一个变量编码&amp;quot;A、B、C&amp;quot;三种取值（因为 C 和 A 的差距不一定刚好是 B 和 A 的两倍，假设线性的数值关系毫无道理）。&lt;/p&gt;
&lt;p&gt;解决方案：用 $k-1$ 个虚拟变量。&lt;/p&gt;
&lt;p&gt;以三组为例。设对照组为A组，构造两个虚拟变量：&lt;/p&gt;
$$
X_{B} =
\begin{cases}
1, &amp; \rm{B组} \\
0, &amp; \rm{其他}
\end{cases}
\quad
X_{C} =
\begin{cases}
1, &amp; \rm{C组} \\
0, &amp; \rm{其他}
\end{cases}
$$&lt;p&gt;A组对应 $(X_B, X_C) = (0, 0)$，作为参照组（reference group）。回归模型：&lt;/p&gt;
$$
Y = \beta_0 + \beta_B X_B + \beta_C X_C + \varepsilon
$$&lt;p&gt;OLS估计结果：&lt;/p&gt;</description></item><item><title>从《众病之王》谈药物滥用的警示</title><link>https://touchingfish.top/2023/pharmacovigilance/</link><pubDate>Sat, 04 Nov 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/pharmacovigilance/</guid><description>&lt;p&gt;再读《众病之王》。&lt;/p&gt;
&lt;p&gt;书里写的是癌症治疗的历史——那些悲壮的科学突破，那些在未知领域探险时付出的代价。其中关于VAMP联合用药（长春花生物碱、甲氨蝶呤、巯基嘌呤等）滥用所致毒性反应的描述，尤其让人心里一紧。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;药物是进步的象征，但它的滥用却暴露了我们对疾病与治疗的复杂性认识不足。&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这话放在今天看，依然扎心。&lt;/p&gt;
&lt;p&gt;20世纪50年代，化疗药物被寄予厚望。VAMP在某些白血病患者身上展现出显著疗效，科学家们大概也觉得自己手里握着一把利剑，可以劈开死神的大门。可这把剑没有剑鞘——它靶向细胞增殖，癌细胞杀得掉，正常快速分裂的细胞也逃不掉。骨髓、肠上皮、毛囊细胞，无一幸免。&lt;/p&gt;
&lt;p&gt;剂量稍有不慎，重度免疫抑制、出血性肠炎，甚至患者因治疗本身而亡。&lt;/p&gt;
&lt;p&gt;当时的医生和科学家，意图是善的。只是医学技术与知识还没跟上那股热情，对药物剂量、代谢路径及长期毒性缺乏系统了解。&lt;/p&gt;
&lt;p&gt;救人还是伤人，有时候只差一个数字。&lt;/p&gt;
&lt;h2 id="药物警戒与现代医疗"&gt;药物警戒与现代医疗&lt;/h2&gt;
&lt;p&gt;正有此历史教训在前，药物使用安全问题才越来越被人重视。&lt;/p&gt;
&lt;p&gt;药物警戒（pharmacovigilance）这个词，起源于1961年的&amp;quot;反应停&amp;quot;事件。那场灾难之后，它作为一门学科逐渐兴起，专门做一件事：对药物使用过程中的风险进行监测、评价与控制。&lt;/p&gt;
&lt;p&gt;核心任务大致四点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;监测不良反应&lt;/strong&gt;——收集患者用药后的不良反应报告，分析规律与风险因素，找出潜在问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评估风险与收益&lt;/strong&gt;——每种药都有副作用，关键看这些风险能不能被临床益处抵消。（说白了就是值不值。）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;完善用药指导&lt;/strong&gt;——根据发现修订剂量建议、禁忌症、相互作用提示，给医患提供更安全的方案。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;预防滥用与依赖&lt;/strong&gt;——抗生素耐药性就是个活生生的例子，过度用药害的不止一个人。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在现代医疗体系中，药物警戒已非可有可无的附属功能，而是贯穿新药研发、审批及上市后全程的必要环节。精准医疗发展起来后，个体化用药逐渐成为现实，药物警戒也从&amp;quot;平均风险&amp;quot;评估转向&amp;quot;个体风险&amp;quot;分析——遗传差异、共病情况、环境因素，全算进去了。&lt;/p&gt;
&lt;h3 id="国际药物监测合作计划"&gt;国际药物监测合作计划&lt;/h3&gt;
&lt;p&gt;1963年世界卫生大会通过决议，要加速药品不良反应信息的传播。WHO于1968年推出国际药物监测合作计划，逐步在全球铺开。如今已有超过140个国家参与。&lt;/p&gt;
&lt;p&gt;乌普萨拉监测中心是这个计划的核心机构，负责收集、分析和评估各国提交的不良反应报告，再把结果反馈回去。这个网络的形成，让药品安全领域的国际合作真正运转了起来。当然，各国在药物警戒的实施和成熟度上差异不小，有的已经相当完善，有的还在摸索。&lt;/p&gt;
&lt;p&gt;美国的模式是中央集权式的——FDA的药品审评与研究中心统一管理。好处是数据集中，处理效率高。组织体系、法律法规、信息公开和反馈机制都比较健全。FDA内部负责药物警戒工作的机构包括监测与流行病学办公室、新药办公室、协调办公室和药品安全监督委员会，各司其职又互相配合。作为全球药品监管的领头羊，这套模式被不少国家效仿。&lt;/p&gt;
&lt;p&gt;欧盟走的是法规路线。通过药物警戒法规（EC No. 726/2004）实施，要求所有新药必须附有详细的药物警戒说明和风险管理系统。EMA有权在药品批准后追加要求，申办者也得定期提交可疑不良反应报告，评估药品的风险-效益平衡。某些产品还得交EU-RMP（欧盟风险管理计划），上市后应用发生变化时还要重新评估。&lt;/p&gt;
&lt;p&gt;各国的路子不一样，目标倒是同一个：维护公众用药安全。&lt;/p&gt;
&lt;h2 id="写在最后"&gt;写在最后&lt;/h2&gt;
&lt;p&gt;回顾历史，药物滥用的悲剧常因对科学与技术的过分乐观而起。药物警戒，说到底是对人类认知局限性的一种谦卑回应。&lt;/p&gt;
&lt;p&gt;面对药物时，既需怀抱希望，也需保持警惕。&lt;/p&gt;
&lt;p&gt;善用其益，防其害。这话谁都懂，做起来又是另一回事了。&lt;/p&gt;</description></item><item><title>医疗器械与特殊食品的监管</title><link>https://touchingfish.top/2023/health-industry-regulatory/</link><pubDate>Wed, 13 Sep 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/health-industry-regulatory/</guid><description>&lt;p&gt;我盯着桌上那瓶复合维生素。&lt;/p&gt;
&lt;p&gt;名字起得很有力量感，瓶身上印着一串我看不懂的化学式，还有一行小字——&amp;ldquo;膳食补充剂&amp;rdquo;。不是保健食品，不是药品。就只是&amp;quot;膳食补充剂&amp;quot;。四个字，轻飘飘的，但你知道它能出现在这里，背后是一整套庞大而复杂的监管机器在运转。&lt;/p&gt;
&lt;p&gt;这让我好奇了起来。&lt;/p&gt;
&lt;h2 id="一"&gt;一&lt;/h2&gt;
&lt;p&gt;监管离我们并不远。每次验血、照X光、戴隐形眼镜，我们都在和医疗器械打交道。问题只是，我们从不去想这些东西是怎么被认定&amp;quot;安全&amp;quot;的。&lt;/p&gt;
&lt;p&gt;美国食品药品监督管理局（FDA）在这件事上，说得上是最早吃螃蟹的人。&lt;/p&gt;
&lt;p&gt;医疗器械和放射健康中心（CDRH）与监管事务办公室（ORA），是FDA旗下两个最核心的部门。前者制定标准，后者负责现场检査——一个在华盛顿的办公室里写规则，一个跑到工厂里去查规矩。《联邦食品、药品与化妆品法》及其修正案，则给了这一切一个法律上的名分。&lt;/p&gt;
&lt;p&gt;CDRH。&lt;/p&gt;
&lt;p&gt;ORA。&lt;/p&gt;
&lt;p&gt;我承认，每次看到这些缩写，都有一种微微的眩晕感。像是在读一份加密文件。但只要稍微拆开来看，其实逻辑很简单：有人制规则，有人去验证，规则写在法律里。&lt;/p&gt;
&lt;p&gt;这就构成了一个最基本的监管框架。&lt;/p&gt;
&lt;h2 id="二"&gt;二&lt;/h2&gt;
&lt;p&gt;美国的医疗器械监管最有意思的地方，在于它的分类哲学。&lt;/p&gt;
&lt;p&gt;根据产品的潜在风险，医疗器械被分为三个类别（Class I、II、III），风险越高，监管越严。Class I是手套、绷带这类低风险的东西，几乎不受约束；Class II是轮椅、呼吸机这类中等风险的，需要通过510(k)证明&amp;quot;和已上市产品实质等同&amp;quot;才能上市；Class III是心脏瓣膜、植入式除颤器这类高风险产品，必须走上市前许可（Premarket Approval，PMA）通道，PMA的审批流程据说可以让一家小公司花上数年时间、几百万美元。&lt;/p&gt;
&lt;p&gt;三个层次，层层递进。听起来很符合直觉，但这个分类体系不是一天建成的。是无数起医疗事故、无数次国会听证、一代代监管者和工程师磨合出来的。&lt;/p&gt;
&lt;p&gt;想到这里的时候，突然对&amp;quot;监管&amp;quot;这个词有了一点新的感受。它不是墙上贴的一张告示，它是活的——不断被打磨、被修正、被具体事件推动着往前走。&lt;/p&gt;
&lt;h2 id="三"&gt;三&lt;/h2&gt;
&lt;p&gt;临床试验的医疗器械豁免（Investigational Device Exemption，IDE）制度，是另一个让我觉得很有意思的设置。&lt;/p&gt;
&lt;p&gt;它说的是：一个新的医疗器械，想做临床试验证明它有效？没问题，但得先向FDA申请，获得批准才能开始。而且临床试验本身也分三个层次，风险最低的甚至可以免去很多手续，风险最高的则要接受和正式上市产品几乎一样严格的监控。&lt;/p&gt;
&lt;p&gt;说白了，这就是在&amp;quot;鼓励创新&amp;quot;和&amp;quot;保护受试者&amp;quot;之间找一个平衡点。&lt;/p&gt;
&lt;p&gt;平衡点。这个词听起来很理性，但背后其实充满了妥协和争论。一个医疗器械的发明者，当然希望尽快进入临床；FDA当然要确保不能让人成为小白鼠。两边的张力，塑造了IDE这套制度的具体样子。&lt;/p&gt;
&lt;p&gt;我喜欢这种制度背后的人文底色——它承认创新需要空间，但它也不轻信。&lt;/p&gt;
&lt;h2 id="四"&gt;四&lt;/h2&gt;
&lt;p&gt;故事讲到这里，本来可以继续往下说质量体系规范（QSR）和上市后管理。但我忽然想把话题转开。&lt;/p&gt;
&lt;p&gt;因为我发现，真正让我着迷的，不是医疗器械，是那瓶维生素。&lt;/p&gt;
&lt;p&gt;准确地说，是那瓶维生素背后的法律——1994年的《膳食补充剂健康与教育法案》（Dietary Supplement Health and Education Act，DSHEA）。&lt;/p&gt;
&lt;p&gt;这个法案的诞生，本身就是一个政治博弈的经典案例。&lt;/p&gt;
&lt;p&gt;上世纪九十年代初，美国膳食补充剂市场已经初具规模，但监管处于灰色地带。FDA想把膳食补充剂当作&amp;quot;药品&amp;quot;来管，要求上市前必须证明安全有效； supplement industry不干了，游说国会，动员消费者，给议员们寄了几十万封信。&lt;/p&gt;
&lt;p&gt;最后，1994年，DSHEA通过。&lt;/p&gt;
&lt;p&gt;它的核心内容是：膳食补充剂被定义为&amp;quot;旨在补充饮食中营养素的产品&amp;quot;，包括维生素、矿物质、草药等，以丸剂、胶囊等形式销售；它不是药品，不需要上市前审批；但它也不是普通食品——如果含有新成分，生产商必须在上市前75天通知FDA。&lt;/p&gt;
&lt;p&gt;这就是DSHEA的精妙之处。它没有把膳食补充剂简单归类，而是创造了一个&amp;quot;介于食品和药品之间&amp;quot;的特殊类别。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我读到这一段的时候，脑子里冒出一个词：法律智慧。不是技术上的聪明，是知道在各方利益的张力之间，找到一个各方都能接受的落点。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="五"&gt;五&lt;/h2&gt;
&lt;p&gt;但DSHEA的妥协也带来了问题。&lt;/p&gt;
&lt;p&gt;FDA对膳食补充剂没有上市前审查权。生产商认为自己产品的成分安全？那就自己确保。FDA只在&amp;quot;有证据表明产品不安全&amp;quot;的时候才能出手干预。&lt;/p&gt;
&lt;p&gt;这是一个&amp;quot;事后监管&amp;quot;的逻辑——和医疗器械的&amp;quot;事前审批&amp;quot;形成了鲜明对比。&lt;/p&gt;
&lt;p&gt;这两种逻辑哪种更好？我不知道。我只是觉得，这种对比很有意思。同一个FDA，对医疗器械和膳食补充剂的态度截然不同。医疗器械风险高，所以先审后放；膳食补充剂风险相对低，所以先放后查。&lt;/p&gt;
&lt;p&gt;背后的哲学其实是风险管理（risk management）——根据风险等级决定监管力度。这套逻辑在公共卫生领域广泛应用，但在具体执行层面，它意味着你吃下去的每一粒维生素，理论上都要靠生产商的自觉来保证安全。&lt;/p&gt;
&lt;p&gt;我看着手里那瓶维生素，有点不知道该说什么。&lt;/p&gt;
&lt;p&gt;（好穷，买的还挺贵的，总不能浪费吧。）&lt;/p&gt;
&lt;h2 id="六"&gt;六&lt;/h2&gt;
&lt;p&gt;有意思的是，DSHEA和cGMP（现行药品生产质量管理规范）是配套的。前者定义了膳食补充剂的法律地位，后者规范了它的生产过程。cGMP确保生产、包装、储存各个环节符合安全标准——这是生产层面的底线。&lt;/p&gt;
&lt;p&gt;联邦贸易委员会（FTC）则负责监管广告的真实性。FDA和FTC，一个管安全，一个管宣传，分工明确。&lt;/p&gt;
&lt;p&gt;所以你看到的那些&amp;quot;增强免疫力&amp;quot;、&amp;ldquo;改善睡眠&amp;quot;的广告，不是随便写的。FTC在看着。虽然效果有限，但至少有人在做这件事。&lt;/p&gt;
&lt;h2 id="七"&gt;七&lt;/h2&gt;
&lt;p&gt;话题回到医疗器械这边。&lt;/p&gt;
&lt;p&gt;上市后管理是我觉得整个监管链条里最容易被忽视、但实际上最关键的一环。&lt;/p&gt;
&lt;p&gt;医疗器械一旦上市，不良事件监测就开始了。不良事件报告制度是强制性的——医院、医生、制造商都有义务向FDA报告任何与器械相关的不良事件。情况严重的，召回。&lt;/p&gt;
&lt;p&gt;召回听起来简单，做起来极其复杂。一个心脏起搏器卖到了全美国各地，怎么追踪？答案是UDI系统——医疗器械唯一标识（Unique Device Identification）。&lt;/p&gt;
&lt;p&gt;每一个医疗器械都被分配一个唯一的编码，贴在产品上，录入数据库。出了问题，可以顺着编码追到具体的批次、具体的医院、具体的患者。&lt;/p&gt;
&lt;p&gt;这套系统是2013年前后才开始全面推广的，在此之前，医疗器械的追溯一直是监管的痛点。现在，你去医院装了一个支架，那个支架有一个自己的号码，理论上可以一路追溯到它是在哪家工厂、哪条生产线上被造出来的。&lt;/p&gt;
&lt;p&gt;我有时候觉得，这种技术带来的透明感，本身就是一种安慰。&lt;/p&gt;
&lt;h2 id="八"&gt;八&lt;/h2&gt;
&lt;p&gt;写到这里，我回头看了看开头的那个问题：一瓶维生素，一台医疗器械，是怎么被认定&amp;quot;安全&amp;quot;的？&lt;/p&gt;</description></item><item><title>药品监管机构的 AI 日志</title><link>https://touchingfish.top/2023/drug-regulatory-admin/</link><pubDate>Mon, 11 Sep 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/drug-regulatory-admin/</guid><description>&lt;p&gt;我对药品监管这件事的理解，大概始于秋招前某次面试。面试官问我：&amp;ldquo;那你对这个行业有什么认识？&amp;ldquo;我当场愣住，脑子里只剩下&amp;quot;FDA管药，PMDA也管药&amp;quot;这种正确的废话。&lt;/p&gt;
&lt;p&gt;回来后我做了一件很符合我性格的事，让ChatGPT以FDA审查员和PMDA审查员的身份写日记。&lt;/p&gt;
&lt;p&gt;不是因为突然对监管产生了什么兴趣，而是我发现这是种全新的学习方式 —— 比起干巴巴地背&amp;quot;FDA负责药品审批&amp;quot;这种知识点，不如让AI想象一个审查员具体的一天，越具体越好，细节越多，面试的时候越能装得像个懂行的人。&lt;/p&gt;
&lt;p&gt;先简单交代一下背景知识，免得你看日记的时候一脸懵。&lt;/p&gt;
&lt;h2 id="美国食品药品监督管理局"&gt;美国食品药品监督管理局&lt;/h2&gt;
&lt;p&gt;美国食品药品监督管理局（Food and Drug Administration，FDA），可以说是美国药品监管的超级大佬，不仅管药，还要操心食品、生物制品、化妆品、兽药、医疗器械和诊断用品。这个庞然大物坐拥超过17000名员工，总部设在华盛顿特区和马里兰州的罗克维尔城。总部和分区各有分工：总部掌握最终决策权，负责审批药品；而那些分布在全国的区所和工作站，则负责检查和确认数据的真实性以及是否符合GMP（Good Manufacturing Practice，药品生产质量管理规范）和GLP（Good Laboratory Practice，药物非临床研究质量管理规范）的要求——是的，他们是FDA的&amp;quot;眼线&amp;quot;和&amp;quot;实干派&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;FDA的组织架构也不含糊，分为七大中心和两大办公室，各自管着一摊事儿。比如药物评价和研究中心（Center for Drug Evaluation and Research，CDER），这是那个让你新药梦成真或破碎的地方。他们审核你的上市申请，研究你的标签和说明书，还会帮你定生产标准。另一方面，医疗器械和放射健康中心（Center for Devices and Radiological Health，CDRH）是医疗器械的守护神，确保医生和患者手里的器械不仅有用，而且安全。他们还通过推进所谓的&amp;quot;监管科学&amp;quot;来让整个行业的规矩更统一、更透明——当然，这对从业者来说有时候是福音，有时候是噩梦。&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3 id="cdrh-某个无趣得让人打哈欠的星期三"&gt;CDRH 某个无趣得让人打哈欠的星期三&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;7:45 AM&lt;/strong&gt;
到办公室的时间早得我想直接冲咖啡机哭诉。CDRH 的任务很重要，确实如此，但重要的任务也可以是无聊的。今天的工作是检查一堆 510(k) 提交资料，这意味着我要阅读 100 多页长得像本科实验报告的文档，确保医疗器械的申报材料齐全，还要判断它们是否符合一堆晦涩的法规。问题在于，有些申请就像是在玩&amp;quot;医疗器械名词拼接游戏&amp;rdquo;。&amp;ldquo;高科技镀钛支架结合抗菌纳米涂层的创新技术&amp;quot;听起来很炫酷，结果文件里真正的&amp;quot;创新&amp;quot;居然是：把支架的尺寸改小了 0.2 毫米。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;10:15 AM&lt;/strong&gt;
我花了 20 分钟试图搞清楚一个文件夹里该死的命名规则。为什么有人会认为&amp;quot;FINAL_FINAL_V3&amp;quot;是个好文件名？更糟糕的是，这居然是一个已经&amp;quot;审查过&amp;quot;的版本！在邮箱里翻到提交人的邮件，看到一长串的&amp;quot;感谢您的专业审查&amp;rdquo;，真想回复：&amp;ldquo;谢谢，但我需要的是明确的命名规则，不是外交辞令。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;12:00 PM&lt;/strong&gt;
午饭时间终于到了。和同事一起吐槽了半小时某位提交人将风险管理表格和随机的市场调研数据搞混的荒谬行为。他们真的以为&amp;quot;我们有很好的客户反馈&amp;quot;能代替生物相容性测试结果吗？为了缓解愤怒，我点了个巨无霸套餐。如果不能让提交人负责，这么多碳水也算让我的胃负责一点。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2:30 PM&lt;/strong&gt;
下午的任务是核查几个 Q-sub 会议纪要。老实说，Q-sub 会议的纪要读起来比说明书还让人昏昏欲睡。今天的亮点是一个会议记录里把&amp;quot;real-world evidence&amp;quot;拼成了&amp;quot;real-word evidence&amp;quot;。希望设备的制造商没想用这个设备测字典里的词汇频率。最令人费解的是，每个纪要都要求我们添加&amp;quot;无保留意见&amp;quot;的声明。好吧，我确实没什么意见，因为我现在只想睡觉。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4:45 PM&lt;/strong&gt;
一天快结束了，我终于把最后一个审查意见发了出去。关闭电脑的那一刻，我突然意识到自己忘了填写今天的工作日记。&lt;/p&gt;
&lt;p&gt;工作日记：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;阅读了 20 份文件，每份文件都让我怀疑人生。&lt;/li&gt;
&lt;li&gt;和同事对垃圾命名规则展开了一场深入讨论，最终得出结论：宇宙的混乱可能始于第一个人写下&amp;quot;FINAL_DRAFT&amp;quot;。&lt;/li&gt;
&lt;li&gt;吃了一个巨无霸，碳水带来的快乐比医疗器械创新更可靠。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5:30 PM&lt;/strong&gt;
在回家的路上，我思考了一会儿这份工作的意义。监管确实重要，但有时候我怀疑，我们的每一天是否也被一层&amp;quot;合规&amp;quot;的枷锁束缚着。&lt;/p&gt;
&lt;p&gt;不过，至少明天还有巨无霸。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;看完这段日记，我突然觉得论文修改也没那么痛苦了——至少我不需要面对&amp;quot;FINAL_FINAL_V3&amp;quot;这种文件名。（虽然我也干过类似的事。）&lt;/p&gt;
&lt;p&gt;FDA 就是这样一个机构，新药想上市得先过它这关，不合格的会被打回去，出了事它也要负责解释。它管的事很杂，药品、食品、化妆品、医疗器械都归它管。手下17000多人，总部在华盛顿特区，下面的区所负责跑现场、检查数据符不符合规矩。&lt;/p&gt;</description></item><item><title>t² = F</title><link>https://touchingfish.top/2023/t-squared-equals-f/</link><pubDate>Sun, 10 Sep 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/t-squared-equals-f/</guid><description>&lt;p&gt;如果你在统计课上认真听了两组比较那两章，你可能隐约记得：t检验的t值和ANOVA的F值之间好像有点关系。&lt;/p&gt;
&lt;p&gt;但大多数教材不会把这件事说透。t检验在第四章，ANOVA在第六章，它们被当作两个独立的工具来讲。你忙着记公式、背适用条件、算自由度，没时间去想&amp;quot;这两个东西本质上是不是同一个&amp;quot;。&lt;/p&gt;
&lt;p&gt;答案是：在两组比较的情形下，$t^2 = F$。这不是近似，是严格的数学恒等式。&lt;/p&gt;
&lt;h2 id="从两个分布说起"&gt;从两个分布说起&lt;/h2&gt;
&lt;p&gt;t 分布的定义是这样的：如果 $Z \sim \mathcal{N}(0, 1)$ 和 $V \sim \chi^2_{df}$ 独立，那么&lt;/p&gt;
$$
t = \frac{Z}{\sqrt{V / df}} \sim t_{df}
$$&lt;p&gt;F 分布的定义是这样的：如果 $U \sim \chi^2_{d_1}$ 和 $V \sim \chi^2_{d_2}$ 独立，那么&lt;/p&gt;
$$
F = \frac{U / d_1}{V / d_2} \sim F_{d_1, d_2}
$$&lt;p&gt;把 t 的定义平方一下：&lt;/p&gt;
$$
t^2 = \frac{Z^2}{V / df}
$$&lt;p&gt;$Z^2$ 服从自由度为 $1$ 的 $\chi^2$ 分布。所以 $t^2$ 恰好是分子自由度为 $1$、分母自由度为 $df$ 的 F 分布：&lt;/p&gt;
$$
t^2_{df} = F_{1, df}
$$&lt;p&gt;这就是分布层面的等价性。不是&amp;quot;差不多&amp;quot;，是&amp;quot;平方之后完全一样&amp;quot;。&lt;/p&gt;</description></item><item><title>药事法规与GXP规范</title><link>https://touchingfish.top/2023/drug-regulation-and-gxp/</link><pubDate>Sun, 03 Sep 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/drug-regulation-and-gxp/</guid><description>&lt;p&gt;姑且假设黑衣组织是一个跨国犯罪集团。&lt;/p&gt;
&lt;p&gt;代号APTX4869。据说能&amp;quot;让服用者死亡&amp;quot;，据说偶尔能让组织里的叛徒&amp;quot;返老还童&amp;quot;——技术细节我不是专家，不展开讨论。&lt;/p&gt;
&lt;p&gt;这样一款药物，离在市场上流通还有多远？&lt;/p&gt;
&lt;p&gt;一款药物从实验室到受害者手里，要穿越的不只是药效本身，还有一整套在全球通行的技术规范。这套规范的名字，叫GXP。&lt;/p&gt;
&lt;p&gt;GXP，Good x Practice。&amp;ldquo;x&amp;quot;可以是L（Laboratory）、C（Clinical）、M（Manufacturing）、D（Distribution）。非临床、临床、生产、分销——四个环节，四套标准，构成了药物从分子到商品的完整旅程。&lt;/p&gt;
&lt;p&gt;黑衣组织的研发部、生产部、物流部，和任何一家跨国药企没什么本质不同。（区别在于，后者有监管，前者没有。）&lt;/p&gt;
&lt;p&gt;先说第一关。&lt;/p&gt;
&lt;h2 id="非临床数据的可靠性是唯一信仰"&gt;非临床：数据的可靠性是唯一信仰&lt;/h2&gt;
&lt;p&gt;GLP，Good Laboratory Practice，药物非临床研究质量管理规范。&lt;/p&gt;
&lt;p&gt;1972年，美国FDA制定了药品GLP规范草案。1978年，正式实施。&lt;/p&gt;
&lt;p&gt;起因很简单：制药行业提交的非临床安全性数据，越来越不靠谱。数据可以伪造，猴子可以替死，实验记录可以事后补填。监管机构意识到，没有独立的质量监督，就没有数据的可信度。&lt;/p&gt;
&lt;p&gt;1981年，经济合作与发展组织（OECD）颁布GLP原则，化学制品非临床安全性数据的相互认可成为可能。一套标准，从此跨越国境。&lt;/p&gt;
&lt;p&gt;GLP的核心逻辑很简单：让数据经得起任何形式的复查。 如果你的实验无法复现，那它从未存在过。&lt;/p&gt;
&lt;p&gt;具体怎么做到？&lt;/p&gt;
&lt;p&gt;设施设计要减少交叉污染，每个批次的试验品要保留留样确保重现性，数据与档案管理采用可追溯的电子采集系统。独立的质量保证部门对研究全程监督，专题负责人（Study Director）签字确认研究报告。&lt;/p&gt;
&lt;p&gt;欧盟的GLP适用范围更广，涵盖化学品、人用药品、兽药产品、化妆品、食品、饲料添加剂、农药、生物杀灭剂和清洁剂。监管框架的完备程度，决定了数据能否经受住&amp;quot;回头看&amp;quot;的审查。&lt;/p&gt;
&lt;p&gt;APTX4869的毒理学数据——急性毒性、致畸性、致癌性——每一项都应该在GLP认证的设施中产生。理论上。&lt;/p&gt;
&lt;p&gt;实际上，没有IRB的独立审查，没有FDA的飞行检查，这套流程在任何一个环节都可能失真。&lt;/p&gt;
&lt;p&gt;数据可以在任何环节失真，程序可以在任何节点被绕过。&lt;/p&gt;
&lt;p&gt;GLP能保证的，是&amp;quot;如果有监管，数据是否可靠&amp;rdquo;。它无法保证&amp;quot;是否有监管&amp;quot;。&lt;/p&gt;
&lt;p&gt;（这大概是黑衣组织研发部和正规药企研发部之间最本质的区别。）&lt;/p&gt;
&lt;h2 id="临床以受试者之名"&gt;临床：以受试者之名&lt;/h2&gt;
&lt;p&gt;GLP过关了，动物实验证明了安全性。&lt;/p&gt;
&lt;p&gt;接下来是更棘手的问题：动物实验过关之后，人呢？&lt;/p&gt;
&lt;p&gt;GCP，Good Clinical Practice，药物临床试验质量管理规范。&lt;/p&gt;
&lt;p&gt;美国的GCP法规主要在联邦法规第21主题（21 CFR Part 312）和第45主题（45 CFR Part 46）中。这些条文不仅约束FDA监管的产品，也覆盖HHS出资的研究。&lt;/p&gt;
&lt;p&gt;2013年，FDA发布《临床试验监督——基于风险的临床试验监查指南》，将集中化监查（Centralized Monitoring）正式写入监管逻辑。1996年，ICH（International Council for Harmonisation）发布E6 GCP指南，为涉及人类受试者的临床试验提供了第一套真正意义上的国际标准。&lt;/p&gt;
&lt;p&gt;GCP有三个核心角色：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;伦理委员会（IRB）是临床试验的第一道门。负责审核和批准试验方案、知情同意书，确保受试者的权益、安全和健康得到保障。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;研究者（Investigator）必须亲自监督研究进展，按照经过IRB批准的试验方案开展临床工作，在必要时获得受试者的知情同意，报告所有副作用，确保研究记录的质量和完整。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;申办者（Sponsor）负责确保临床试验的开展和数据生成、录入、报告的合规性。须建立质量管理系统（QMS）和标准操作规程（SOP），对研究者进行资格认定和培训，实施安全性监督，并通过临床试验注册与结果公开制度维护研究的透明度和公信力。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;（在一个恐怖组织谈透明度和公信力，有点荒诞）&lt;/p&gt;
&lt;p&gt;这套制度运转的逻辑，和规范文本描述的别无二致。区别只在于：正规药企的临床试验不会张贴在ClinicalTrials.gov上，也不会出现在任何药监部门的审批记录里——那是另一个故事了。&lt;/p&gt;
&lt;p&gt;临床试验数据的质量直接决定了一种药物能否上市。在规范世界里，这是铁律。在另一套叙事里，这是成本。&lt;/p&gt;
&lt;p&gt;（如果琴酒去申请临床试验，IRB会怎么审？研究者的知情同意书要怎么写？&amp;ldquo;服用后可能死亡也可能返老还童&amp;rdquo;——这能通过伦理审查吗？琴酒大概不会亲自跑。）&lt;/p&gt;
&lt;h2 id="生产质量源于设计"&gt;生产：质量源于设计&lt;/h2&gt;
&lt;p&gt;GCP也过了。&lt;/p&gt;
&lt;p&gt;接下来是最容易被误解的环节：生产。&lt;/p&gt;
&lt;p&gt;GMP，Good Manufacturing Practice，药品生产质量管理规范。&lt;/p&gt;
&lt;p&gt;美国的cGMP（current Good Manufacturing Practice）是世界上第一部GMP。基础法规是《联邦食品、药品与化妆品法》（FD&amp;amp;C Act）。1938年的磺胺酏剂事件催生了这部法律；1962年的《Kefauver-Harris修正案》进一步确立了GMP的法律地位。&lt;/p&gt;
&lt;p&gt;21世纪的cGMP引入了&amp;quot;质量源于设计&amp;quot;（Quality by Design，QbD）的理念——这句话值得单独一行：&lt;/p&gt;
&lt;p&gt;质量不是检测出来的，是设计出来的。&lt;/p&gt;
&lt;p&gt;ICH发布的三个指南文件支撑起这套逻辑：&lt;/p&gt;</description></item><item><title>虚拟变量 / Independent T-test</title><link>https://touchingfish.top/2023/independent-t-test-regression/</link><pubDate>Tue, 01 Aug 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/independent-t-test-regression/</guid><description>&lt;p&gt;在特定条件下，它们本质上是同一个统计检验，只是表达形式不同。&lt;/p&gt;
&lt;p&gt;如果把&amp;quot;成组 t 检验&amp;quot;理解为&amp;quot;两组均值比较的独立样本 t 检验&amp;quot;，那么它与&amp;quot;只有一个二元自变量的简单线性回归中的回归系数显著性检验&amp;quot;是完全等价的。&lt;/p&gt;
&lt;h2 id="两种写法同一个模型"&gt;两种写法，同一个模型&lt;/h2&gt;
&lt;p&gt;t检验的设定：比较A组与B组均值是否不同。你有两组独立样本，想知道它们来自的总体均值是否相等。&lt;/p&gt;
&lt;p&gt;回归的设定：设&lt;/p&gt;
$$
Y = \beta_0 + \beta_1 X + \varepsilon
$$&lt;p&gt;其中 $X$ 是一个虚拟变量（dummy variable）：&lt;/p&gt;
$$
X =
\begin{cases}
0, &amp; \rm{A组} \\
1, &amp; \rm{B组}
\end{cases}
$$&lt;p&gt;最小二乘估计的结果是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$\hat\beta_0 = \bar{Y}_{\rm A}$，A组的样本均值&lt;/li&gt;
&lt;li&gt;$\hat\beta_1 = \bar{Y}_{\rm B} - \bar{Y}_{\rm A}$，两组均值之差&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然后检验 $H_0: \beta_1 = 0$。&lt;/p&gt;
&lt;p&gt;这里得到的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;t 值相同&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;p 值相同&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自由度相同&lt;/strong&gt;（都是 $n_{\rm A} + n_{\rm B} - 2$）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结论相同&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;从数学上看，它们是同一个模型的两种写法。&lt;/p&gt;
&lt;h2 id="一个数值验证"&gt;一个数值验证&lt;/h2&gt;
&lt;p&gt;算一个具体例子比讲十遍理论更有说服力。假设A组有5个数据：$[3.2, 4.1, 3.8, 3.5, 4.0]$，B组有5个数据：$[5.1, 5.8, 5.3, 5.5, 5.0]$。&lt;/p&gt;</description></item><item><title>截距项 / One Sample t-test</title><link>https://touchingfish.top/2023/one-sample-t-test-regression/</link><pubDate>Thu, 20 Jul 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/one-sample-t-test-regression/</guid><description>&lt;p&gt;我们从最简情形开始。&lt;/p&gt;
&lt;p&gt;单样本t检验是你在统计课上学到的第一个检验：有一组数据，想知道它的均值是否等于某个特定值 $\mu_0$。比如：这批药片的平均重量是不是 $500\rm{mg}$？这个班级的平均成绩是不是 $70$ 分？&lt;/p&gt;
&lt;p&gt;标准做法：算t统计量，查t分布表，看p值，做结论。&lt;/p&gt;
&lt;p&gt;而&amp;quot;回归视角&amp;quot;的做法更简单：跑一个&lt;strong&gt;只有截距项&lt;/strong&gt;的回归。&lt;/p&gt;
&lt;h2 id="只有截距的回归"&gt;只有截距的回归&lt;/h2&gt;
&lt;p&gt;考虑模型：&lt;/p&gt;
$$
Y_i = \beta_0 + \varepsilon_i, \quad \varepsilon_i \sim \mathcal{N}(0, \sigma^2)
$$&lt;p&gt;没有自变量，只有截距 $\beta_0$。对这个模型做最小二乘估计（OLS），$\hat\beta_0$ 恰好是样本均值 $\bar{Y}$。这应该不意外——当你只能用一条水平线去拟合数据时，最好的选择就是取平均值。&lt;/p&gt;
&lt;p&gt;检验 $H_0: \beta_0 = \mu_0$ 的 t 统计量为：&lt;/p&gt;
$$
t = \frac{\hat\beta_0 - \mu_0}{\rm{SE}(\hat\beta_0)}
$$&lt;p&gt;其中 $\rm{SE}(\hat\beta_0) = s / \sqrt{n}$，$s$ 是样本标准差。&lt;/p&gt;
&lt;p&gt;而单样本t检验的公式是：&lt;/p&gt;
$$
t = \frac{\bar{Y} - \mu_0}{s / \sqrt{n}}
$$&lt;p&gt;一样。&lt;/p&gt;
&lt;p&gt;因为 $\hat\beta_0 = \bar{Y}$，所以两个公式完全等价。t值相同，自由度相同（都是 $n-1$），p值相同，结论相同。&lt;/p&gt;
&lt;h2 id="拟合一个空模型"&gt;拟合一个&amp;quot;空&amp;quot;模型&lt;/h2&gt;
&lt;p&gt;在 R 里，你可以这样拟合：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="nf"&gt;c&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;5.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;4.8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;5.1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;5.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;4.9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;lm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Call&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;lm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;formula&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Residuals&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="m"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;2.000e-01&lt;/span&gt; &lt;span class="m"&gt;-2.000e-01&lt;/span&gt; &lt;span class="m"&gt;1.000e-01&lt;/span&gt; &lt;span class="m"&gt;1.041e-16&lt;/span&gt; &lt;span class="m"&gt;-1.000e-01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Coefficients&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Estimate&lt;/span&gt; &lt;span class="n"&gt;Std.&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="nf"&gt;Pr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;|&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Intercept&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="m"&gt;5.00000&lt;/span&gt; &lt;span class="m"&gt;0.07071&lt;/span&gt; &lt;span class="m"&gt;70.71&lt;/span&gt; &lt;span class="m"&gt;2.4e-07&lt;/span&gt; &lt;span class="o"&gt;***&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;---&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Signif.&lt;/span&gt; &lt;span class="n"&gt;codes&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;***&amp;#39;&lt;/span&gt; &lt;span class="m"&gt;0.001&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;**&amp;#39;&lt;/span&gt; &lt;span class="m"&gt;0.01&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;*&amp;#39;&lt;/span&gt; &lt;span class="m"&gt;0.05&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;.&amp;#39;&lt;/span&gt; &lt;span class="m"&gt;0.1&lt;/span&gt; &lt;span class="s"&gt;&amp;#39; &amp;#39;&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Residual&lt;/span&gt; &lt;span class="n"&gt;standard&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.1581&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="n"&gt;degrees&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;freedom&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;Estimate&lt;/code&gt; 那一栏就是样本均值，t值和p值和单样本t检验的输出一模一样。&lt;/p&gt;</description></item><item><title>一座还不错的桥 / 评 Flammer(2021)</title><link>https://touchingfish.top/2023/corporate-green-bonds/</link><pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/corporate-green-bonds/</guid><description>&lt;p&gt;Flammer, C. (2021), Corporate Green Bonds. &lt;em&gt;Journal of Financial Economics&lt;/em&gt;, 142, 499-516.&lt;/p&gt;
&lt;p&gt;Green Bond 这几年很火。但有个问题我一直好奇：发行绿色债券比直接把钱投到绿色项目里更麻烦——行政成本更高，合规要求更多——公司图什么？Flammer 这篇论文给了三种可能：Signaling、Greenwashing，或者更便宜的融资。然后一个一个检验。&lt;/p&gt;
&lt;p&gt;以下是我的阅读笔记。&lt;/p&gt;
&lt;h3 id="1-研究重点"&gt;1 研究重点&lt;/h3&gt;
&lt;h4 id="11-背景与动机"&gt;1.1 背景与动机&lt;/h4&gt;
&lt;p&gt;Green Bond 是为资助环境和气候友好型项目而发行的债券，近年发展迅速，在能源等依赖自然环境的行业尤其受欢迎。探讨其动机和影响，对可持续金融和影响力投资都有意义。&lt;/p&gt;
&lt;h4 id="12-假设"&gt;1.2 假设&lt;/h4&gt;
&lt;p&gt;论文提出了三种可能的解释。&lt;/p&gt;
&lt;p&gt;第一，Signaling（信号传递）。Green Bond 有成本、有约束，可以作为公司对环境承诺的可信信号，降低信息不对称，提高声誉和价值。&lt;/p&gt;
&lt;p&gt;第二，Greenwashing（漂绿）。企业表面上宣示环保，实际上并不行动，通过塑造环保形象误导投资者和其他利益相关者。&lt;/p&gt;
&lt;p&gt;第三，更便宜的融资。Green Bond 投资者可能愿意为社会影响牺牲部分收益，接受更低的回报率。&lt;/p&gt;
&lt;h3 id="2-数据"&gt;2 数据&lt;/h3&gt;
&lt;p&gt;Green Bond 的数据来自 Bloomberg 的固定收益数据库，涵盖 2013 至 2018 年每只债券的金额、货币、到期期限、票息、信用评级和认证状态。数据显示，发行额和发行数量随时间持续增长。从行业和国家分布看，在依赖自然环境的行业（比如能源）更受欢迎，在中国、美国和欧洲尤其盛行。&lt;/p&gt;
&lt;p&gt;债券层面的汇总还揭示了一个规律：与非上市公司相比，上市公司发行的 Green Bond 规模更大、到期期限更长，更有可能是固定利率。这些特征和信息的透明性，解释了为什么后续分析聚焦于上市公司。&lt;/p&gt;
&lt;p&gt;公司层面的数据来自多个来源。会计和股票数据的汇总表明，Green Bond 发行公司的平均规模较大，且通常拥有更高的环境评级和 ESG 评级。作者通过统计对公司有利的环保议题数量，构建了企业的环境重要性指数（数据来自 SASB）。假设检验的结果显示：绿色项目对企业越有利，企业越可能发行 Green Bond。&lt;/p&gt;
&lt;h3 id="3-实证研究"&gt;3 实证研究&lt;/h3&gt;
&lt;h4 id="31-事件研究法event-study"&gt;3.1 事件研究法（Event Study）&lt;/h4&gt;
&lt;p&gt;作者用 Event Study 评估股市对 Green Bond 发行公告的反应。用标准市场模型估计每家公司在发行前 250 个交易日的预期收益，然后计算公告日前后共 5 个短期事件窗口内的 Abnormal Return（异常收益），汇总后进行显著性检验。&lt;/p&gt;</description></item><item><title>博弈的节律</title><link>https://touchingfish.top/2023/game-environment-feedback/</link><pubDate>Mon, 19 Jun 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/game-environment-feedback/</guid><description>&lt;p&gt;之前写过两个 ABM（Agent-Based Model）。网格上的 agents 随机配对，玩一局博弈，然后更新 action。唯一的变量是&amp;quot;看什么&amp;quot;——这一步的得分，还是历史上所有博弈的总分。微分方程我不会推（平均场近似抄的文献），但 ODE 的阶数我还是看得懂的：一个是一阶，一个是二阶。速度与加速度，无记忆与有惯性。微观设定只是一念之差。&lt;/p&gt;
&lt;p&gt;但那两个模型共享一个暗含的前提：支付矩阵是铁板一块。囚徒困境永远是囚徒困境。鹰鸽博弈永远是鹰鸽博弈。&lt;/p&gt;
&lt;p&gt;草不会疼。&lt;/p&gt;
&lt;p&gt;Weitz et al.（2016）让草活了过来——策略改变环境，环境重写收益结构，收益结构反过来重塑策略。闭环一旦形成，系统就开始呼吸。&lt;/p&gt;
&lt;p&gt;我想做的事更简单：不给环境开一个连续的反馈通道，只是给网格一个节律。&lt;/p&gt;
&lt;h2 id="给网格一个节律"&gt;给网格一个节律&lt;/h2&gt;
&lt;p&gt;在原来的 ABM 里加一个资源状态变量，初始值设为 $A$。每一步 agents 在网格上博弈，消耗 $1$ 单位资源。资源从 $A$ 一路降到 $0$，再隔固定步数，重置回 $A$。&lt;/p&gt;
&lt;p&gt;设 $b=1$，资源存量 $a \in \{0, 1, 2, 3, 4\}$。支付矩阵为：&lt;/p&gt;
$$
\begin{matrix}
 &amp; C &amp; D \\\\ \hline
C &amp; a/2 &amp; 0 \\\\
D &amp; a &amp; (a-1)/2
\end{matrix}
$$&lt;p&gt;$a=4$，桌子是这样的：&lt;/p&gt;
$$
\begin{matrix}
 &amp; C &amp; D \\\\ \hline
C &amp; 2 &amp; 0 \\\\
D &amp; 4 &amp; 1.5
\end{matrix}
$$&lt;p&gt;纯正的囚徒困境。$D$ 严格占优 $C$——不管对方选什么，背叛都比合作赚得多。Replicator dynamics 告诉你：关门，放背叛者，全图沦陷。&lt;/p&gt;</description></item><item><title>当公地开始呼吸</title><link>https://touchingfish.top/2023/oscillating-tragedy-of-the-commons/</link><pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/oscillating-tragedy-of-the-commons/</guid><description>&lt;p&gt;公地悲剧是一个老故事了。&lt;/p&gt;
&lt;p&gt;1968 年，Garrett Hardin 描述了这样一个场景：一片对所有人开放的草地，每个牧民都往上面多放一头牛。多放一头牛的收益全归自己，草地退化的代价由所有人分担。于是每个人都选择多放，草地最终被彻底毁掉。&lt;/p&gt;
&lt;p&gt;博弈论的翻译很简单：背叛（defect）是 dominant strategy。不管别人怎么做，背叛的 payoff 都比合作高。Replicator dynamics 告诉你，背叛者最终会吞掉整个群体。&lt;/p&gt;
&lt;p&gt;但这个模型有一个默认前提：草是死的东西。payoff 矩阵是固定的。&lt;/p&gt;
&lt;p&gt;你踩一脚，它不会疼。把它吃光了，它不会改变下一次博弈的规则。&lt;/p&gt;
&lt;p&gt;Weitz 等人在 2016 年 PNAS 上发表的这篇论文做了一件事：他们让草活过来了。&lt;/p&gt;
&lt;h2 id="让草活过来"&gt;让草活过来&lt;/h2&gt;
&lt;p&gt;论文提出了一种叫做 &amp;ldquo;coevolutionary game theory&amp;rdquo; 的框架——博弈和环境的共同演化。核心改动只有一条：payoff 矩阵不再是固定的常数，而是环境的函数。环境好（replete），背叛占优。环境差（depleted），合作占优。&lt;/p&gt;
&lt;p&gt;直觉上很好理解。资源充裕的时候，搭便车是最划算的——别人出力，你享受。资源枯竭的时候，谁都没法搭便车——不合作就一起死。用论文的话说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;mutual cooperation is a Nash equilibrium when n = 0 and mutual defection is a Nash equilibrium when n = 1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;$n$ 是环境状态，$n=0$ 代表 depleted，$n=1$ 代表 replete。payoff 矩阵 $A(n)$ 在这两个极值之间线性插值，合作和背叛的 Nash 均衡各自占据一端。&lt;/p&gt;
&lt;p&gt;但关键不在于&amp;quot;环境决定策略&amp;quot;。关键在于另一个方向：策略反过来也改变环境。&lt;/p&gt;
&lt;h2 id="闭环"&gt;闭环&lt;/h2&gt;
&lt;p&gt;合作者改善环境——比如细菌分泌公共酶分解养分，植被固定水土。背叛者恶化环境——只消耗不生产。于是出现了一个闭环：&lt;/p&gt;
&lt;p&gt;合作者多了 → 环境变好 → 背叛者占优 → 环境变差 → 合作者又占优 →&lt;/p&gt;</description></item><item><title>y=ax+b这么能打？ / Simple Linear Regression Universe</title><link>https://touchingfish.top/2023/linear-model-unified-perspective/</link><pubDate>Sat, 10 Jun 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/linear-model-unified-perspective/</guid><description>&lt;p&gt;学了这么多年统计，有一个问题我直到很晚才想明白。&lt;/p&gt;
&lt;p&gt;为什么基础统计课要教那么多互不相关的检验方法？t检验、ANOVA、Pearson相关、线性回归——它们各自有各自的公式、各自的适用条件、各自的查表方式。考试的时候，你得先判断&amp;quot;这道题该用哪种检验&amp;quot;，然后再套对应的公式。&lt;/p&gt;
&lt;p&gt;我当时就是这么学的。背了一堆检验，考完就忘，需要考试的时候又背一遍。&lt;/p&gt;
&lt;p&gt;直到某天我突然意识到：&lt;/p&gt;
&lt;p&gt;它们其实都是同一个公式的不同写法。&lt;/p&gt;
&lt;p&gt;更准确地说，它们都是线性回归模型 $Y = X\beta + \varepsilon$ 在 $X$ 取不同形式时的特例。&lt;/p&gt;
&lt;p&gt;这个发现让我整个人有点懵。倒不是因为数学有多难——恰恰相反，是因为数学太简单了。简单到你会怀疑：为什么当初没人告诉我？&lt;/p&gt;
&lt;p&gt;当然，老师不这样教是有原因的（可能是怕我们一时接受不了？也可能教材就是从各种检验分别讲起的，历史惯性使然）。但站在&amp;quot;事后诸葛亮&amp;quot;的视角，用回归统一一切，确实能让统计的版图变得异常清晰。&lt;/p&gt;
&lt;h2 id="回归是最通用的语言"&gt;回归是最通用的语言&lt;/h2&gt;
&lt;p&gt;考虑最简单的线性回归：&lt;/p&gt;
$$
Y = \beta_0 + \beta_1 X + \varepsilon
$$&lt;p&gt;这里 $\beta_0$ 是截距，$\beta_1$ 是斜率，$\varepsilon$ 是误差项。你关心的问题是：$X$ 对 $Y$ 有没有影响？统计上就是检验 $H_0: \beta_1 = 0$。&lt;/p&gt;
&lt;p&gt;现在，如果我告诉你 $X$ 可以是什么，你就知道为什么回归能统一一切了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果 $X$ 只有 $0$ 和 $1$ 两个取值（比如：$0$ = 对照组，$1$ = 实验组），这个回归就是&lt;strong&gt;成组t检验&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;如果根本没有 $X$，只保留截距 $\beta_0$，这个回归就是&lt;strong&gt;单样本t检验&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;如果把 $X$ 扩展为多个 $0/1$ 虚拟变量（表示多组分类），就变成了&lt;strong&gt;单因素ANOVA&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;如果 $X$ 是连续的，并且先把 $X$ 和 $Y$ 都标准化，回归系数 $\beta_1$ 恰好等于&lt;strong&gt;Pearson相关系数 $r$&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;如果加入个体固定效应（每个受试者一个截距），就变成了&lt;strong&gt;配对t检验&lt;/strong&gt;的等价形式。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这就有意思了。五个看起来八竿子打不着的检验方法，在回归的框架下全是一个东西。&lt;/p&gt;</description></item><item><title>如果沉默有声音（If Silence Has Voice）</title><link>https://touchingfish.top/2023/if-silence-has-voice/</link><pubDate>Sun, 23 Apr 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/if-silence-has-voice/</guid><description>&lt;p&gt;清理电脑的时候，发现了这个文件。&lt;/p&gt;
&lt;p&gt;一篇英语课作业（口语稿子），主题是关于&amp;quot;silent restaurant&amp;quot;的。说是作业，其实就是把我看到的某个社会观察节目的内容整理了一下，后面加了点自己的感想。毫无逻辑，想到什么写什么的那种。&lt;/p&gt;
&lt;p&gt;陕西榆林有家很安静的餐厅，80%的服务员是聋哑人。&lt;em&gt;Although they can neither hear nor speak, they try to live a happy life.&lt;/em&gt; 他们听不见也说不出，但都在很努力地活着。节目组把一家咖啡厅的服务员都换成了聋哑人，邀请顾客向他们学习手语。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Although there are few customers in the cafe, all of them are enthusiastic about learning sign language. The waitress who are thoughtful will use a tablet to communicate when necessary. More and more people join the ranks of sign language learning and communication. Harmony and joy filled the whole cafe.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这个设定本身就很微妙。我们总觉得&amp;quot;服务&amp;quot;嘛，就是得说话得热情得满面笑容——虽然这种刻板印象细想起来挺可笑的。但他们用tablet交流，认真地比划着每一个动作。反倒是顾客们学得挺开心。&lt;/p&gt;
&lt;p&gt;印象最深的是一位长头发的女士。&lt;em&gt;She write down what she want to learn, and gestures every motion as carefully as a child.&lt;/em&gt; 她把想学的内容写下来，然后每一个动作都认真得像小朋友学写字。她在对服务员比&amp;quot;你很棒&amp;quot;——用这种方式表达赞美和尊重。&lt;/p&gt;</description></item><item><title>有限群体的波动——固定点与随机性的邂逅</title><link>https://touchingfish.top/2023/finite-population-fluctuations/</link><pubDate>Sun, 12 Mar 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/finite-population-fluctuations/</guid><description>&lt;p&gt;雪堆博弈里出现了内部固定点 $x^*$，对应混合纳什均衡。&lt;/p&gt;
&lt;p&gt;听起来很美好。&lt;/p&gt;
&lt;p&gt;但这只是在 ODE 的世界里。真实世界里，群体是有限的。有限意味着随机。&lt;/p&gt;
&lt;p&gt;当固定点遇上随机性，稳定分布和固定点到底是什么关系？&lt;/p&gt;
&lt;h2 id="随机与确定的根本区别"&gt;随机与确定的根本区别&lt;/h2&gt;
&lt;p&gt;先回顾三个对象的定义：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;固定点（ODE）：&lt;/strong&gt; $\frac{dx}{dt} = F(x)$，当 $F(x^*) = 0$ 时，$x^*$ 不再移动。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;马尔可夫链稳定分布（stationary distribution）：&lt;/strong&gt; $\pi P = \pi$，长期后系统有多大概率在各状态。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;纳什均衡：&lt;/strong&gt; 没人愿意单边改变策略。&lt;/p&gt;
&lt;p&gt;在囚徒困境里，因为有吸收态 $x = 0$，三者重合。&lt;/p&gt;
&lt;p&gt;但雪堆博弈的内部点 $x^*$ 不是吸收态。这就导致了根本性的差异。&lt;/p&gt;
&lt;h2 id="离散状态-vs-连续近似"&gt;离散状态 vs 连续近似&lt;/h2&gt;
&lt;p&gt;在复制子 ODE 里，$x$ 是连续变量，$0 \leq x \leq 1$。&lt;/p&gt;
&lt;p&gt;但在真实随机群体里，状态是离散的：&lt;/p&gt;
$$k = 0, 1, 2, \ldots, N$$&lt;p&gt;其中 $k$ 是合作者数量，$x = k/N$。&lt;/p&gt;
&lt;p&gt;每次更新只能 $k \to k \pm 1$，不能直接跳到 $x^*$。&lt;/p&gt;
&lt;p&gt;假设 $N = 100$，$x^* = 0.4$。这意味着 40 个合作者。&lt;/p&gt;</description></item><item><title>即时筛选与历史筛选</title><link>https://touchingfish.top/2023/two-modes-of-natural-selection/</link><pubDate>Thu, 09 Mar 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/two-modes-of-natural-selection/</guid><description>&lt;p&gt;考虑一个简单的 Agent-Based Model（ABM）。在一个网格上，一群 agents 各自带着一个 action（策略）随机移动，每一步找一个邻居配对，玩一把博弈，获得一个 payoff（收益），然后更新自己的 action。更新规则很简单——看看邻居的得分，谁的得分高，下一步就变成谁的策略。&lt;/p&gt;
&lt;p&gt;关键变量只有一个：&lt;strong&gt;比较什么得分？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;模型一：比较&lt;strong&gt;这一步&lt;/strong&gt;的得分 $P_1$。谁这一轮赚得多，我就学谁。&lt;/p&gt;
&lt;p&gt;模型二：比较&lt;strong&gt;历史所有博弈&lt;/strong&gt;的累计得分 $P_2$。谁到目前为止总共赚得多，我就学谁。&lt;/p&gt;
&lt;p&gt;微观设定上，只是&amp;quot;看当前&amp;quot;和&amp;quot;看历史&amp;quot;的区别。但数学推导告诉我们，这两个模型对应着两种截然不同的动态系统——模型一是一阶常微分方程（Replicator Dynamics），收益差决定演化的&amp;quot;速度&amp;quot;；模型二是二阶积分微分方程（Inertial Dynamics），收益差决定演化的&amp;quot;加速度&amp;quot;。速度与加速度，一阶与二阶，无记忆与有惯性。数学上的区别是清楚的。&lt;/p&gt;
&lt;p&gt;但我想做另一件事：&lt;strong&gt;把这两个模型翻译成生物学的语言。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="翻译的第一步"&gt;翻译的第一步&lt;/h2&gt;
&lt;p&gt;这个 ABM 本身就是自然选择的模拟，翻译几乎是直译：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Action = 表现型（phenotype）&lt;/li&gt;
&lt;li&gt;每一步 = 一代&lt;/li&gt;
&lt;li&gt;模仿更好的策略 = 更好的基因在代际之间被传播&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那么 $P_1$ 和 $P_2$ 呢？它们都像是 fitness（适应度）。模型一依据当前 fitness 筛选，模型二依据累计 fitness 筛选。直觉上，模型一的自然选择反应快，模型二因为有&amp;quot;惯性&amp;quot;，反应慢，自然选择被减弱了。&lt;/p&gt;
&lt;p&gt;这个推理大方向是对的。但有三处需要修正。&lt;/p&gt;
&lt;h2 id="和--都是-fitness但不是同一种"&gt;$P_1$ 和 $P_2$ 都是 fitness，但不是同一种&lt;/h2&gt;
&lt;p&gt;$P_1$ 更像 &lt;strong&gt;instantaneous fitness&lt;/strong&gt; 或 &lt;strong&gt;current realized fitness&lt;/strong&gt;——这一代在当前环境下的适应度表现。$P_2$ 更像 &lt;strong&gt;cumulative fitness&lt;/strong&gt; 或 &lt;strong&gt;lifetime reproductive success&lt;/strong&gt;——一个个体到目前为止的总表现。&lt;/p&gt;
&lt;p&gt;区别不只是&amp;quot;看一步&amp;quot;和&amp;quot;看多步&amp;quot;。$P_2$ 作为简单累加，会混入&amp;quot;活得更久、比较次数更多&amp;quot;这些因素。一个个体 $P_2$ 高，可能不是因为它的策略真的好，只是因为它参与博弈的次数多。也就是说，$P_2$ 比较的不纯粹是生物学意义上的适应度，还混入了&amp;quot;累计时间长度&amp;quot;。&lt;/p&gt;
&lt;p&gt;如果想要更干净的生物学解释，常见做法是把 $P_2$ 改成 &lt;strong&gt;average payoff per interaction&lt;/strong&gt;，或者按年龄、交互次数做归一化。这样比较的就是&amp;quot;平均每次博弈的表现&amp;quot;，而非&amp;quot;总表现&amp;quot;。&lt;/p&gt;</description></item><item><title>雪堆博弈的第三条路</title><link>https://touchingfish.top/2023/snowdrift-game-internal-equilibrium/</link><pubDate>Sat, 25 Feb 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/snowdrift-game-internal-equilibrium/</guid><description>&lt;p&gt;囚徒困境是绝望的。&lt;/p&gt;
&lt;p&gt;背叛是严格占优策略。所有动力学、所有演化、所有重复博弈的尽头，都是纯背叛。教科书这么写，实验室这么验证，我们看着，心里大概也是这么想的。&lt;/p&gt;
&lt;p&gt;但雪堆博弈 Snowdrift Game 不一样。&lt;/p&gt;
&lt;p&gt;这里没有绝路。&lt;/p&gt;
&lt;h2 id="铲雪还是不铲"&gt;铲雪，还是不铲？&lt;/h2&gt;
&lt;p&gt;两辆车被雪堵住了。&lt;/p&gt;
&lt;p&gt;这是经典故事。我第一次读到的时候，正在台北等一场永远不会来的雪。窗外只有雨，但脑子里全是那个场景：两个人，两把铲子，两个选择。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;铲（合作 C）&lt;/li&gt;
&lt;li&gt;不铲（偷懒 D）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;规则很简单：只要有一个人铲，路就能通。铲雪的人付出成本。不铲的人——搭便车 free rider。&lt;/p&gt;
&lt;p&gt;最舒服的局面：别人干活，我拿收益。&lt;/p&gt;
&lt;p&gt;最坏的结局：两个人都等着，谁都走不了。&lt;/p&gt;
&lt;p&gt;这和囚徒困境的绝望感不同。囚徒困境里，合作是傻子策略。这里不是。这里存在一种张力：合作和背叛都有各自的理由，取决于对方选了什么。&lt;/p&gt;
&lt;h2 id="收益矩阵"&gt;收益矩阵&lt;/h2&gt;
&lt;p&gt;设通路收益为 $b$，铲雪成本为 $c$，$b &gt; c &gt; 0$。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;对方 C&lt;/th&gt;
 &lt;th&gt;对方 D&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;我 C&lt;/td&gt;
 &lt;td&gt;$b - c/2$&lt;/td&gt;
 &lt;td&gt;$b - c$&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;我 D&lt;/td&gt;
 &lt;td&gt;$b$&lt;/td&gt;
 &lt;td&gt;$0$&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;简单解释：&lt;/p&gt;
&lt;p&gt;双方合作——成本平摊，收益各得 $b - c/2$。&lt;/p&gt;
&lt;p&gt;我背叛对方合作——我不干活，但享受通路，收益 $b$。对方独自承担成本，收益 $b - c$。&lt;/p&gt;
&lt;p&gt;双方背叛——谁都不铲，困在原地，收益 $0$。&lt;/p&gt;
&lt;p&gt;我合作对方背叛——我一个人干活，收益 $b - c$。通了，但代价全是我一个人扛。&lt;/p&gt;
&lt;h2 id="不存在占优策略"&gt;不存在占优策略&lt;/h2&gt;
&lt;p&gt;这是关键。&lt;/p&gt;
&lt;p&gt;看矩阵：&lt;/p&gt;
&lt;p&gt;对方合作时，我选 C 得 $b-c/2$，选 D 得 $b$。$b &gt; b - c/2$，背叛更香。&lt;/p&gt;</description></item><item><title>固定点、稳定分布、纳什均衡——一个困惑的消解</title><link>https://touchingfish.top/2023/fixed-point-stable-distribution-nash/</link><pubDate>Fri, 10 Feb 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/fixed-point-stable-distribution-nash/</guid><description>&lt;p&gt;复制子动力学里的固定点、马尔可夫链的稳定分布、博弈论里的纳什均衡。&lt;/p&gt;
&lt;p&gt;这三个东西，我第一次看到的时候，是当同义词处理的。&lt;/p&gt;
&lt;p&gt;后来发现，不是。&lt;/p&gt;
&lt;h2 id="曾经的误解"&gt;曾经的误解&lt;/h2&gt;
&lt;p&gt;Fixed Point、Stationary Distribution、Nash Equilibrium。&lt;/p&gt;
&lt;p&gt;三个术语，三个领域，三种直觉。听起来像是同一个数学对象的三个侧面。&lt;/p&gt;
&lt;p&gt;囚徒困境里，它们确实是同一个东西。&lt;/p&gt;
&lt;p&gt;但这不代表它们在任何情况下都等价。我花了点时间才把这个混淆搞清楚。&lt;/p&gt;
&lt;h2 id="三个数学对象的定义"&gt;三个数学对象的定义&lt;/h2&gt;
&lt;h3 id="固定点fixed-point"&gt;固定点（Fixed Point）&lt;/h3&gt;
&lt;p&gt;复制子动力学是一个常微分方程：&lt;/p&gt;
$$\frac{dx}{dt} = F(x)$$&lt;p&gt;固定点的定义很简单：&lt;/p&gt;
$$F(x^*) = 0$$&lt;p&gt;如果系统刚好到达 $x^*$，它就不再移动。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;速度为零&amp;quot;的点。确定性的。&lt;/p&gt;
&lt;h3 id="马尔可夫链稳定分布stationary-distribution"&gt;马尔可夫链稳定分布（Stationary Distribution）&lt;/h3&gt;
&lt;p&gt;随机过程里，系统永远在随机跳动。静止？不存在的。&lt;/p&gt;
&lt;p&gt;于是换了个问题：长期后系统有多大概率出现在各状态？&lt;/p&gt;
&lt;p&gt;这就是稳定分布。记作：&lt;/p&gt;
$$\pi P = \pi$$&lt;p&gt;这里 $P$ 是转移矩阵，$\pi$ 是概率分布。&lt;/p&gt;
&lt;p&gt;含义是：经过一步随机演化后，概率分布保持不变。&lt;/p&gt;
&lt;p&gt;本质上是特征值 $\lambda = 1$ 对应的特征向量。&lt;/p&gt;
&lt;h3 id="纳什均衡nash-equilibrium"&gt;纳什均衡（Nash Equilibrium）&lt;/h3&gt;
&lt;p&gt;这是策略概念。&lt;/p&gt;
&lt;p&gt;没有人愿意单独改变策略。&lt;/p&gt;
&lt;p&gt;它甚至不一定涉及时间。&lt;/p&gt;
&lt;h2 id="用矩阵方程求稳定分布"&gt;用矩阵方程求稳定分布&lt;/h2&gt;
&lt;p&gt;以最简单的两状态马尔可夫链为例。&lt;/p&gt;
&lt;p&gt;设群体只有两种状态：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;状态 0：全体背叛&lt;/li&gt;
&lt;li&gt;状态 1：全体合作&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;状态向量：&lt;/p&gt;
$$p_t = \begin{pmatrix} P(\text{时刻 } t \text{ 在状态 0}) \\ P(\text{时刻 } t \text{ 在状态 1}) \end{pmatrix}$$&lt;p&gt;转移矩阵：&lt;/p&gt;</description></item><item><title>演化的速度与加速度</title><link>https://touchingfish.top/2023/evolutionary-game-dynamic/</link><pubDate>Sat, 04 Feb 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/evolutionary-game-dynamic/</guid><description>&lt;p&gt;我不懂演化博弈的数学，Replicator Dynamics 对我来说只是个名词。但我会计算机模拟，Agent-Based Model（ABM）是我的语言。&lt;/p&gt;
&lt;p&gt;假如在一个 $n \times n$ 的网格上，按网格数量乘以 population density 生成一群 agents，每一步 agents 带着一个 action 在网格上移动，在 Von Neumann 邻域找另一个 agent 配对，玩一把经典博弈，然后更新 action，进入下一步。所有 agents 更新 action 的方式都一样。以上定义了模型的基本要素。&lt;/p&gt;
&lt;p&gt;现在考虑一个关键变量：agents 更新 action 的依据是什么？&lt;/p&gt;
&lt;p&gt;一、和邻居比较&lt;strong&gt;这一步&lt;/strong&gt;的得分 $P_1$，下一步变成得分 $P_1$ 高的 action。&lt;/p&gt;
&lt;p&gt;二、和邻居比较&lt;strong&gt;历史所有博弈&lt;/strong&gt;的得分 $P_2$，下一步变成得分 $P_2$ 高的 action。&lt;/p&gt;
&lt;p&gt;微观设定上，只是&amp;quot;看当前&amp;quot;和&amp;quot;看历史&amp;quot;的区别。但当我试图用数学去描述这两个模型时，发现它们对应着两种完全不同的物理动态：一阶系统与二阶系统，速度与加速度。&lt;/p&gt;
&lt;p&gt;下面一步步完成推导。&lt;/p&gt;
&lt;h2 id="从代码到方程平均场近似"&gt;从代码到方程：平均场近似&lt;/h2&gt;
&lt;p&gt;在计算机模拟中，有一个 $n \times n$ 的网格，Agent 在上面走动并寻找邻居。数学家做了一个&amp;quot;偷懒&amp;quot;但极其有效的假设——&lt;strong&gt;平均场近似（Mean-Field Approximation）&lt;/strong&gt;：假设网格无限大，且所有人像气体分子一样充分混合，随机相遇。&lt;/p&gt;
&lt;p&gt;这意味着什么？假设当前全图有 $x$ 比例的人使用策略 $A$，有 $1-x$ 比例的人使用策略 $B$。在一个极小的时间步 $\Delta t$ 内，随机抓取一个 Agent，他是策略 $B$ 的概率是 $1-x$；他恰好撞见一个策略 $A$ 邻居的概率就是 $x$。所以，&lt;strong&gt;&amp;quot;$B$ 遇到 $A$&amp;ldquo;这个事件发生的联合概率就是 $x(1-x)$&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>随机演化过程</title><link>https://touchingfish.top/2023/markov-chain-replicator-dynamics/</link><pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/markov-chain-replicator-dynamics/</guid><description>&lt;p&gt;上篇文章甩出了复制子动力学方程 $\frac{dx}{dt} = x(1-x)(\pi_C - \pi_D)$。没解释从哪来的。&lt;/p&gt;
&lt;p&gt;憋着难受。今天补上。&lt;/p&gt;
&lt;p&gt;这个方程不是拍脑袋写出来的。它的背后，是&amp;quot;大量个体随机互动&amp;quot;的宏观涌现。说人话：一群人瞎折腾，最后折腾出了规律。&lt;/p&gt;
&lt;p&gt;微观随机，宏观确定。这是演化博弈论最迷人之处。&lt;/p&gt;
&lt;h2 id="从离散随机过程开始"&gt;从离散随机过程开始&lt;/h2&gt;
&lt;p&gt;还是囚徒困境。&lt;/p&gt;
&lt;p&gt;群体 $N$ 人，策略只有两种：C 或 D。&lt;/p&gt;
&lt;p&gt;记时刻 $t$ 的合作者数量为 $k$。那么合作比例 $x = \frac{k}{N}$。&lt;/p&gt;
&lt;p&gt;系统状态？只需要跟踪 $k = 0, 1, 2, \ldots, N$。&lt;/p&gt;
&lt;p&gt;这活脱脱一个马尔可夫链（Markov Chain）——下一步长什么样，只看现在，不问过去。&lt;/p&gt;
&lt;h2 id="演化规则"&gt;演化规则&lt;/h2&gt;
&lt;p&gt;规则简单到有点粗暴：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;随机抽一个人当&amp;quot;复制源&amp;quot;&lt;/li&gt;
&lt;li&gt;被抽中概率和收益挂钩&lt;/li&gt;
&lt;li&gt;再随机抽一个人，被替换掉&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;高收益策略扩散，低收益策略收缩。 Darwin 的影子若隐若现。&lt;/p&gt;
&lt;p&gt;于是状态 $k$ 每次只跳一个单位：$k \to k+1$ 或 $k \to k-1$。&lt;/p&gt;
&lt;p&gt;这叫&lt;strong&gt;出生-死亡链（birth-death chain）&lt;/strong&gt;。名字很直观，生死之间，一进一退。&lt;/p&gt;
&lt;h2 id="转移概率"&gt;转移概率&lt;/h2&gt;
&lt;p&gt;先算合作者的平均收益。&lt;/p&gt;
&lt;p&gt;当前合作者 $k$ 人，背叛者 $N-k$ 人。&lt;/p&gt;
&lt;p&gt;合作比例 $x = \frac{k}{N}$，所以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;合作者收益：$\pi_C = 3x = \frac{3k}{N}$&lt;/li&gt;
&lt;li&gt;背叛者收益：$\pi_D = 4x + 1 = \frac{4k}{N} + 1$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;群体总&amp;quot;适应度&amp;quot;：&lt;/p&gt;</description></item><item><title>囚徒困境的终点</title><link>https://touchingfish.top/2023/replicator-dynamics-prisoners-dilemma/</link><pubDate>Sun, 15 Jan 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/replicator-dynamics-prisoners-dilemma/</guid><description>&lt;p&gt;我想搞清楚一件事——&lt;/p&gt;
&lt;p&gt;(D, D) 为什么既是均衡，又是终点？&lt;/p&gt;
&lt;p&gt;不是道德判断。是数学事实。复制子动力学 Replicator Dynamics 把这套逻辑说得非常清楚。&lt;/p&gt;
&lt;h2 id="收益矩阵"&gt;收益矩阵&lt;/h2&gt;
&lt;p&gt;两个人，两种策略：合作（记作 C）和背叛（记作 D）。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;对方 C&lt;/th&gt;
 &lt;th&gt;对方 D&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;我 C&lt;/td&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;我 D&lt;/td&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;含义很简单：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;双合作：各得 3&lt;/li&gt;
&lt;li&gt;我背叛、对方合作：我得 5（对方得 0）&lt;/li&gt;
&lt;li&gt;双背叛：各得 1&lt;/li&gt;
&lt;li&gt;我合作、对方背叛：我得 0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;关键观察在这里。无论对方选什么，背叛的收益都不低于合作：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对方 C 时，背叛 5 &amp;gt; 合作 3&lt;/li&gt;
&lt;li&gt;对方 D 时，背叛 1 &amp;gt; 合作 0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;D 是&lt;strong&gt;占优策略 dominant strategy&lt;/strong&gt;。理性人一定选 D。&lt;/p&gt;
&lt;p&gt;所以 (D, D) 是唯一纳什均衡。&lt;/p&gt;
&lt;p&gt;静态博弈已经告诉我们答案，不需要动力学。&lt;/p&gt;
&lt;p&gt;但——这个均衡是怎么&amp;quot;达到&amp;quot;的？如果一开始有人合作，系统会怎样演化？&lt;/p&gt;
&lt;p&gt;这才是复制子动力学要回答的。&lt;/p&gt;
&lt;h2 id="群体视角"&gt;群体视角&lt;/h2&gt;
&lt;p&gt;不是两个人了。假设一个很大的群体，一部分人用 C，一部分人用 D。&lt;/p&gt;
&lt;p&gt;记时刻 $t$ 时，合作者比例为 $x(t)$，背叛者就是 $1 - x(t)$。&lt;/p&gt;</description></item><item><title>大病初愈（A New Lease on Life）</title><link>https://touchingfish.top/2023/a-new-lease-on-life/</link><pubDate>Mon, 09 Jan 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2023/a-new-lease-on-life/</guid><description>&lt;p&gt;新年伊始，一月上旬接近尾声。情绪一直不高，该整理的年终收获也迟迟没有动笔。&lt;/p&gt;
&lt;h2 id="一"&gt;一&lt;/h2&gt;
&lt;p&gt;又是以&amp;quot;大病初愈&amp;quot;开局的一个月，开题已经过了一个月，还是会觉得导师似乎对我当时的表现不大满意。&lt;/p&gt;
&lt;p&gt;排在卷王后没有理由不摆。卷王对本次汇报的重视程度，从着装就能看得出来。&lt;/p&gt;
&lt;p&gt;轮到我的时候，院长刚好有事开会去了。老师们明显懈怠不少，反正他们也没耐心听懂，也提不出什么问题，也给不了什么意见。&lt;/p&gt;
&lt;p&gt;反正我也不想好好讲，因为反正都会通过。最后果然是通过了。&lt;/p&gt;
&lt;p&gt;虽然还是心有余悸，花了一点时间转化为吐槽：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;一些同学甚至连survey都做得不好，却在开题时大谈自己选题的创新点。导师和委员会里有一些人和他一样，以为&amp;quot;这个领域文章不多&amp;quot;，他们惺惺相惜的样子，真是令人十分动容。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本学期最后一次组会开得比想象中要早得多，导师总结性发言没有针对任何人，说的问题也不在要害，所以也不清楚具体是何态度，很难不让人觉得虚伪。在家经常睡到中午，上午收到的消息几乎没有回复过，估计也给他留下一些不太正面的印象。&lt;/p&gt;
&lt;h2 id="二"&gt;二&lt;/h2&gt;
&lt;p&gt;两周后，寒假的通知正式发布。如果不是突然让学生在一周内提交课程论文，很多人应该没有想到，这学期竟然还有一门课。遣返回乡已经近一个月，前两天才刚刚发出正式的寒假通知。一般以为，寒假时间的公布意味着这个学期的教学任务画上句号，却怎么也没想到被要求赶出本学期的唯一一项期末作业。因为导师早上突然谈起此事，我没有及时在群里回复他，只是下午整理出一篇&amp;quot;初稿&amp;quot;发给他过目。&lt;/p&gt;
&lt;p&gt;如果说教学计划是楼房的建筑框架，那贵校绝对是个专家级的危楼工程师。一系列方便院系在防疫期间完成任务的操作已经习以为常。能上的课，该上的课，应上尽上。巴不得利用上网课的这一学期，把学生培养计划里的课时一网打尽。考察已经无关紧要，线上考试的舞弊行为完全失控。形式主义地要求学生全程录屏，考后却没有任何提交这份录屏文件的通知。由教授和导师们打分的课程论文本就毫无意义，即使是学阀作风的toxic advisor，也会直接给成绩让学生通过，因为他们需要学生把更多时间和精力投入到为他创造&amp;quot;财富&amp;quot;的实验室工作。&lt;/p&gt;
&lt;p&gt;不知是不是该说幸运？我遇到一个&amp;quot;严格&amp;quot;的导师。在我觉得自己已经对这套废材体系完全麻木的时候，还在鼓励我&amp;quot;丰富&amp;quot;课程论文的内容。虽然我心里只想拿&amp;quot;合格&amp;quot;，但还是记着老师的话，&amp;ldquo;要珍惜自己的羽毛&amp;rdquo;…&lt;/p&gt;
&lt;p&gt;这是一项被告知要写论文和截止日期只有不到五天的挑战，我必须提交一份能从导师手里换来&amp;quot;合格&amp;quot;二字的论文。短短两天，不少同学已经从各自的导师手中套来了成绩，而我则是收到修改意见…不解，学生教学都荒诞成什么样了，没有实质内容的意见却还是提得出来。（我真的只想&amp;quot;合格&amp;quot;，更没指望写出什么干货。）如果是去年，我还会在意绩点能不能维持在80以上，以免后续有申请博士的打算时被卡成绩。如今，我只是越来越感受到，自己已经学&amp;quot;废&amp;quot;了。至少这个体系中，丧失了对科研的信心和热情，只想早日完成任务，拿到学位。&amp;ldquo;合格&amp;quot;就是我需要的最低标准。当全院系的尺度都扭曲的时候，还在坚持自己另一套&amp;quot;非理性&amp;quot;的标准，除了制造矛盾之外，并不能带来什么。也许这些学术骗子和所有学生都是矛盾的吧。无论是只手遮天的压榨型导师，还是虚情假意的放养型导师，都从来没有关心过自己要为世界培养怎样的人。终于，在返工复制粘贴一千字后的两天，我拿到了想要的&amp;quot;合格&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;…还好年底发生了这三年最值得见证的历史：梅西夺冠。让我透了口气，觉得世界上还有美好在发生。&lt;/p&gt;
&lt;h2 id="三"&gt;三&lt;/h2&gt;
&lt;p&gt;说回&amp;quot;大病初愈&amp;quot;。在圣诞节前夕，在家里成功被感染。那天，我几乎就要完成我的&amp;quot;圣诞树&amp;quot;了，然后咳了大半天，终于发烧了。早在前两天，老父就处于流感样症状的状态。但不得不说，他恢复得很快，第三天又开始出门&amp;quot;溜达&amp;quot;了（实际上，我们都不知道他在外面做些什么）。因为全家刚刚经历了一轮真正的flu，以及他从来不戴口罩，所以有理由怀疑他感染了covid，而且我们马上也会感染。不出意外，今天老母也躺了一天，不过据她口述，除了疲劳，几乎没有不舒服的症状。&lt;/p&gt;
&lt;p&gt;洗完澡后，我把米饭煮成红糖粥，应付了晚餐。然后出门扛了一箱矿泉水回家。便利店老板的小孩在店里玩耍，我尽量站得离远一点，希望不会感染到他们。最后一瓶宝矿力也被我买了。我能想象会度过一个怎样的夜晚。发烧到满脸通红，视野也好像有一层滤镜。躺在床上，满脑子不成逻辑的胡思乱想，反映出最近什么最吸引我（答案是韩综——「地球游戏厅」后，正在看「山友都市女人」）&lt;/p&gt;
&lt;p&gt;十点多，从床上爬起来吃布洛芬。此时，我才百分百地确定自己阳性，不需要抗原检测。像很多人一样，一辈子没有几次发烧到这种程度。偶尔拿床头的农夫山泉放在额头降降温，穿的衣服偏厚，感觉被窝里马上要&amp;quot;着火&amp;quot;。嘴唇很快就干了，矿泉水喝了大半瓶，每一口都像&amp;quot;两块钱的可乐&amp;quot;（喝可乐的时候，第一口值两块钱）。但是在被子里裹得火热，脏器估计受不了这种温差带来的刺激，很可能是导致后来呕吐的原因之一。&lt;/p&gt;
&lt;p&gt;两点钟，微微出汗，体温似乎有所下降，准备换一身衣服。下床后突然开始喷射性呕吐。此前一直觉得有打不出的嗝，从流感以来，也便秘了好几天，消化系统肯定是出了问题。吐了一次，我尽量忍住，走到厕所，这才终于放心地把该吐的东西都吐了出来。完全不受控制，从口中喷射而出。站直身子那一刻，突然觉得自己已经康复了，体温好像也恢复正常。清理完刚刚的&amp;quot;作品&amp;quot;，消毒并换上新衣服，腰开始剧烈的疼痛。自认为已经看了不少科普，如今也见证了许多因人而异的未了解症状。于是便借助网络，补充了一些知识点：如何有效的漱口，喝运动饮料缓解消化道不适，为什么会腰痛等。这个症状令人有些坐立难安，幸好躺下后顺利入睡了，也许被窝的温度帮了一点忙。&lt;/p&gt;
&lt;p&gt;第二天，下午又开始低烧，且伴随着一些免疫反应带来的屁股痛，无碍。上床休息了几次，还是失水速度太快比较要命。每次喝完水不到二十分钟，嘴唇就又干了。鉴于昨天饮水过量，呕吐物中无色液体含量也明显偏多，补充水分的时候小心翼翼。一口一口地喝着宝矿力，吃了不少圣女果和草莓，想着尽量让胃里的食物成分简单点。早睡晚起，第三天已经好多了。除了呼吸还不太自然，几乎没感到异常。流感后虚弱的身体就这样又经历了一场免疫大战，偶尔还是用叹几声气来协助肺部收缩舒张。夜里重操旧业，把&amp;quot;圣诞树&amp;quot;最后的两层折好，用白乳胶固定。9/9的进度条终于完成，却没有分享的欲望了。把过程发出来让朋友监督，把结果留下来给自己欣赏。&lt;/p&gt;
&lt;h2 id="四"&gt;四&lt;/h2&gt;
&lt;p&gt;吊诡的一年终于要结束，对美好未来已经丧失了信心。让我尤其共感的是，许老师的微博上写道，最怕的是未来回想起来，2022年是比较好的一年。我有些不知道努力的方向，也不想听到&amp;quot;加油&amp;quot;之类的话。当我以为朋友圈不会有人在回顾去年时的态度是积极的时，还是被不少人打脸了。我们在岁月静好和平庸之恶面前其实多么无力。庆幸自己去年最后一本书读到了「可能性的艺术」。&lt;/p&gt;
&lt;p&gt;一月第三天已经把两本去年没有翻完的书看了下来。感染之前在学习计算机网络，书读到一半，以精神状态不佳为由拖延了几日。年关一过，便把书看完了。主要还是对这部分内容有好奇心，并且借着重燃的编程热情，顺便翻完了「SQL必知必会」。如果不知道今年怎么办的话，那就尽量把时间花在感兴趣的事情上吧。因为猛然想起19年在惠安工作时，和在学校最大的不同是，自己常常觉得没有时间学习想知道的事情。跟风看了阿瑟的「打火机与公主裙」之后，又让我开始对计算机有强烈的求知欲。好像渐渐发现自己对大模型之前的AI没那么感兴趣，编程本身和可能即将出现Web3.0更让我着迷。越来越高的围墙内，能否看到帮助我们还原真相的信息，是我这两个月来在意的课题。如果去中心化的信息时代到来，势必对一些&amp;quot;北韩化&amp;quot;的措施有所冲击。&lt;/p&gt;
&lt;p&gt;十二月以来，也看了一些剧综。有时电视上播什么便看什么，毕竟现在周三到周末晚，都有还算不错的节目。年前进入了一段追剧低潮期，只能靠悬疑剧吊着，即使看的时候已经听说烂尾了。值得一提的是，补了少女时代15周年的团综。从韩娱的全世界路过又回来，当然不能错过这个我唯二记住全员名字的女团（另一个团是tara）。这些年有意无意地看了一些成员们的影和剧，也更加能够欣赏到她们的魅力。&lt;/p&gt;
&lt;p&gt;昨晚失眠的时候，在听贤者时间聊熬夜的播客。谈话的内容是影视剧如何&amp;quot;让我们活下去&amp;quot;。非常认同。我看的一些节目，虽然称不上艺术作品，但的确发挥了让我的生命更加多彩的作用。想起「死亡诗社」才知道，因为这些东西，也是生命本身。&lt;/p&gt;
&lt;p&gt;最近还读了「1984」，现在生活也应该被记录。虽然我已经快两个月没有出过门了，但在日记里写下自己的状态也很重要。最好的记录应该发生在当天，因为我们的回忆太容易被&amp;quot;篡改&amp;quot;，曼德拉效应持续在发生。&lt;/p&gt;</description></item></channel></rss>