-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
35 lines (35 loc) · 25.8 KB
/
index.html
File metadata and controls
35 lines (35 loc) · 25.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><meta><title>pan</title><link rel="manifest" href="/manifest.json"><meta name="application-name" content="pan"><meta name="msapplication-TileImage" content="/img/leaves_world_icon.svg"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="pan"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta property="og:type" content="blog"><meta property="og:title" content="pan"><meta property="og:url" content="https://yhpan.github.io/"><meta property="og:site_name" content="pan"><meta property="og:locale" content="en_US"><meta property="og:image" content="https://yhpan.github.io/img/og_image.png"><meta property="article:author" content="pan"><meta property="twitter:card" content="summary"><meta property="twitter:image" content="/img/og_image.png"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://yhpan.github.io"},"headline":"pan","image":["https://yhpan.github.io/img/og_image.png"],"author":{"@type":"Person","name":"pan"},"publisher":{"@type":"Organization","name":"pan","logo":{"@type":"ImageObject","url":"https://yhpan.github.io/img/leaves_world_icon.svg"}},"description":""}</script><link rel="icon" href="/img/leaves_world_icon.svg"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.2/css/all.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@9.12.0/styles/atom-one-light.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;600&family=Source+Code+Pro"><link rel="stylesheet" href="/css/default.css"><style>body>.footer,body>.navbar,body>.section{opacity:0}</style><!--!--><script>var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?da6ec1ab886851e085ed8b2853e34117";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script><!--!--><script src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" defer></script><!--!--><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lightgallery@1.6.8/dist/css/lightgallery.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/css/justifiedGallery.min.css"><!--!--><!--!--><script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script><!--!--><!--!--><meta name="generator" content="Hexo 5.4.0"></head><body class="is-2-column"><nav class="navbar navbar-main"><div class="container"><div class="navbar-brand justify-content-center"><a class="navbar-item navbar-logo" href="/"><img src="/img/leaves_world_icon.svg" alt="pan" height="28"></a></div><div class="navbar-menu"><div class="navbar-start"><a class="navbar-item is-active" href="/">Home</a><a class="navbar-item" href="/archives">Archives</a><a class="navbar-item" href="/categories">Categories</a><a class="navbar-item" href="/tags">Tags</a><a class="navbar-item" href="/about">About</a></div><div class="navbar-end"><a class="navbar-item" target="_blank" rel="noopener" title="GitHub" href="https://github.com/yhpan"><i class="fab fa-github"></i></a><a class="navbar-item search" title="Search" href="javascript:;"><i class="fas fa-search"></i></a></div></div></div></nav><section class="section"><div class="container"><div class="columns"><div class="column order-2 column-main is-8-tablet is-8-desktop is-8-widescreen"><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item">Posted <time dateTime="2021-12-20T14:33:22.000Z" title="2021/12/20 下午10:33:22">2021-12-20</time></span><span class="level-item">Updated <time dateTime="2021-12-20T14:38:24.822Z" title="2021/12/20 下午10:38:24">2021-12-20</time></span><span class="level-item"><a class="link-muted" href="/categories/python/">python</a><span> / </span><a class="link-muted" href="/categories/python/%E7%AE%97%E6%B3%95/">算法</a></span><span class="level-item">3 minutes read (About 522 words)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2021/12/20/%E5%81%8F%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0/">偏相关系数</a></h1><div class="content"><hr>
<h1 id="偏相关系数计算"><a href="#偏相关系数计算" class="headerlink" title="偏相关系数计算"></a>偏相关系数计算</h1><p>参考<br><em><a target="_blank" rel="noopener" href="https://book.douban.com/subject/5418944/">陈彦光编著. 地理数学方法及其应用. 2008, 北京大学城市与环境学院.</a></em><br><em><a target="_blank" rel="noopener" href="https://en.wikipedia.org/wiki/Partial_correlation">维基百科</a></em></p>
<p>简单相关系数旨在反映变量之间两两线性关系,但实际上,每一个简单相关系数不可能绝对不包括其他因素的相关成分。为了克服简单相关系数的间接相关信息,有人设计了另一种检验指标,称为偏相关系数( partial correlation coefficient)。偏相关系数旨在排除其它因素的影响,单纯反映某个自变量与因变量之间的密切程度。</p>
<p>当自变量较多时,利用公式计算偏相关系数相当麻烦,比较便捷的方式是借助简单相关系数构成的相关矩阵进行运算,计算公式如下:</p>
<p>$R_{x_{j} y}=\frac{-c_{j y}}{\sqrt{c_{j j} c_{y y}}}$</p>
<p>这里$R_{x_{j} y}$ 为第 <em>j</em> 个自变量与因变量 <em>y</em> 的偏相关系数, <em>c</em> 为相关系数矩阵的逆矩阵中对应的元素。 </p>
<p>下面是python实现</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># -*- coding: utf-8 -*-</span></span><br><span class="line"><span class="string">"""</span></span><br><span class="line"><span class="string">Created on Mon Dec 20 16:53:39 2021</span></span><br><span class="line"><span class="string">modified: https://gist.github.com/fabianp/9396204419c7b638d38f</span></span><br><span class="line"><span class="string">@author: pan</span></span><br><span class="line"><span class="string">"""</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> numpy <span class="keyword">as</span> np</span><br><span class="line"><span class="keyword">from</span> numpy.linalg <span class="keyword">import</span> inv</span><br><span class="line"><span class="keyword">from</span> osgeo <span class="keyword">import</span> gdal, gdal_array</span><br><span class="line"><span class="keyword">import</span> os, time,glob</span><br><span class="line"><span class="keyword">from</span> sklearn <span class="keyword">import</span> linear_model</span><br><span class="line"><span class="keyword">from</span> sklearn <span class="keyword">import</span> preprocessing</span><br><span class="line"><span class="keyword">from</span> matplotlib <span class="keyword">import</span> pyplot <span class="keyword">as</span> plt</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">def</span> <span class="title">partial_corr</span>(<span class="params">C</span>):</span></span><br><span class="line"> <span class="string">"""</span></span><br><span class="line"><span class="string"> Returns the sample linear partial correlation coefficients between pairs of variables in C, controlling </span></span><br><span class="line"><span class="string"> for the remaining variables in C.</span></span><br><span class="line"><span class="string"> Parameters</span></span><br><span class="line"><span class="string"> ----------</span></span><br><span class="line"><span class="string"> C : array-like, shape (n, p)</span></span><br><span class="line"><span class="string"> Array with the different variables. Each column of C is taken as a variable</span></span><br><span class="line"><span class="string"> Returns</span></span><br><span class="line"><span class="string"> -------</span></span><br><span class="line"><span class="string"> P_corr : array-like, shape (p, p)</span></span><br><span class="line"><span class="string"> P_corr[i, j] contains the partial correlation of C[:, i] and C[:, j] controlling</span></span><br><span class="line"><span class="string"> for the remaining variables in C.</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> </span><br><span class="line"> C = np.asarray(C)</span><br><span class="line"> p = C.shape[<span class="number">1</span>]</span><br><span class="line"> P_corr = np.zeros((p, p)) <span class="comment"># sample linear partial correlation coefficients</span></span><br><span class="line"> </span><br><span class="line"> corr = np.corrcoef(C,rowvar=<span class="literal">False</span>) <span class="comment"># Pearson product-moment correlation coefficients.</span></span><br><span class="line"> corr_inv = inv(corr) <span class="comment"># the (multiplicative) inverse of a matrix.</span></span><br><span class="line"> </span><br><span class="line"> <span class="keyword">for</span> i <span class="keyword">in</span> <span class="built_in">range</span>(p):</span><br><span class="line"> P_corr[i, i] = <span class="number">1</span></span><br><span class="line"> <span class="keyword">for</span> j <span class="keyword">in</span> <span class="built_in">range</span>(i+<span class="number">1</span>, p):</span><br><span class="line"> pcorr_ij = -corr_inv[i,j]/(np.sqrt(corr_inv[i,i]*corr_inv[j,j]))</span><br><span class="line"> P_corr[i,j]=pcorr_ij</span><br><span class="line"> P_corr[j,i]=pcorr_ij</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">return</span> P_corr</span><br></pre></td></tr></table></figure>
</div></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item">Posted <time dateTime="2021-07-15T07:31:57.000Z" title="2021/7/15 下午3:31:57">2021-07-15</time></span><span class="level-item">Updated <time dateTime="2021-07-15T07:56:14.588Z" title="2021/7/15 下午3:56:14">2021-07-15</time></span><span class="level-item"><a class="link-muted" href="/categories/%E5%85%B6%E5%AE%83/">其它</a></span><span class="level-item">2 minutes read (About 276 words)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2021/07/15/%E6%96%87%E7%8C%AE%E7%AE%A1%E7%90%86%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%88%86%E6%9E%90%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">文献管理与信息分析学习笔记</a></h1><div class="content"><p>关于文献管理-信息分析-科学知识图谱学习中的一些笔记,帮助我们提升科研的效率。</p></div><a class="article-more button is-small is-size-7" href="/2021/07/15/%E6%96%87%E7%8C%AE%E7%AE%A1%E7%90%86%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%88%86%E6%9E%90%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/#more">Read more</a></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item">Posted <time dateTime="2021-07-12T06:25:34.000Z" title="2021/7/12 下午2:25:34">2021-07-12</time></span><span class="level-item">Updated <time dateTime="2021-07-12T07:14:21.241Z" title="2021/7/12 下午3:14:21">2021-07-12</time></span><span class="level-item"><a class="link-muted" href="/categories/python/">python</a><span> / </span><a class="link-muted" href="/categories/python/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/">数据处理</a></span><span class="level-item">3 minutes read (About 455 words)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2021/07/12/python%E9%81%A5%E6%84%9F%E6%95%B0%E6%8D%AE%E5%86%99%E4%B8%BA%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E5%B9%B6%E8%AF%BB%E5%8F%96/">python遥感数据写为二进制文件并读取</a></h1><div class="content"><p>由于历史原因,我们研究使用的很多大型模型,输入的数据格式都要求为二进制数据格式。因此,读取遥感数据为数组,将其保存为二进制格式文件,从二进制格式文件读取数据为数组就是一种常见的操作了。下面我将介绍如何利用python语言实现上述操作。</p></div><a class="article-more button is-small is-size-7" href="/2021/07/12/python%E9%81%A5%E6%84%9F%E6%95%B0%E6%8D%AE%E5%86%99%E4%B8%BA%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E5%B9%B6%E8%AF%BB%E5%8F%96/#more">Read more</a></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item">Posted <time dateTime="2021-07-04T03:47:29.000Z" title="2021/7/4 上午11:47:29">2021-07-04</time></span><span class="level-item">Updated <time dateTime="2021-07-15T07:52:52.221Z" title="2021/7/15 下午3:52:52">2021-07-15</time></span><span class="level-item"><a class="link-muted" href="/categories/%E5%85%B6%E5%AE%83/">其它</a></span><span class="level-item">7 minutes read (About 1022 words)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2021/07/04/Hexo%E7%BB%93%E5%90%88Github%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/">Hexo结合Github搭建个人博客</a></h1><div class="content"><h2 id="如何搭建"><a href="#如何搭建" class="headerlink" title="如何搭建"></a>如何搭建</h2><p>我采用了ICARUS主题,根据以下教程完成了部署</p></div><a class="article-more button is-small is-size-7" href="/2021/07/04/Hexo%E7%BB%93%E5%90%88Github%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/#more">Read more</a></article></div></div><div class="column column-left is-4-tablet is-4-desktop is-4-widescreen order-1"><div class="card widget" data-type="profile"><div class="card-content"><nav class="level"><div class="level-item has-text-centered flex-shrink-1"><div><figure class="image is-128x128 mx-auto mb-2"><img class="avatar" src="/img/dog.png" alt="pan"></figure><p class="title is-size-4 is-block" style="line-height:inherit;">pan</p><p class="is-size-6 is-block">Bachelor</p><p class="is-size-6 is-flex justify-content-center"><i class="fas fa-map-marker-alt mr-1"></i><span>Beijing China</span></p></div></div></nav><nav class="level is-mobile"><div class="level-item has-text-centered is-marginless"><div><p class="heading">Posts</p><a href="/archives"><p class="title">4</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">Categories</p><a href="/categories"><p class="title">4</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">Tags</p><a href="/tags"><p class="title">7</p></a></div></div></nav><div class="level"><a class="level-item button is-primary is-rounded" href="https://github.com/yhpan" target="_blank" rel="noopener">Follow</a></div><div class="level is-mobile is-multiline"><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Github" href="https://github.com/yhpan"><i class="fab fa-github"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="博客园" href="https://www.cnblogs.com/yhpan"><i class="fas fa-rss"></i></a></div></div></div><!--!--><div class="card widget" data-type="links"><div class="card-content"><div class="menu"><h3 class="menu-label">Links</h3><ul class="menu-list"><li><a class="level is-mobile" href="https://www.resdc.cn/" target="_blank" rel="noopener"><span class="level-left"><span class="level-item">RESDC</span></span><span class="level-right"><span class="level-item tag">www.resdc.cn</span></span></a></li><li><a class="level is-mobile" href="http://www.aircas.ac.cn/" target="_blank" rel="noopener"><span class="level-left"><span class="level-item">AIRCAS</span></span><span class="level-right"><span class="level-item tag">www.aircas.ac.cn</span></span></a></li></ul></div></div></div><div class="card widget" data-type="categories"><div class="card-content"><div class="menu"><h3 class="menu-label">Categories</h3><ul class="menu-list"><li><a class="level is-mobile" href="/categories/python/"><span class="level-start"><span class="level-item">python</span></span><span class="level-end"><span class="level-item tag">2</span></span></a><ul><li><a class="level is-mobile" href="/categories/python/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/"><span class="level-start"><span class="level-item">数据处理</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li><li><a class="level is-mobile" href="/categories/python/%E7%AE%97%E6%B3%95/"><span class="level-start"><span class="level-item">算法</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li></ul></li><li><a class="level is-mobile" href="/categories/%E5%85%B6%E5%AE%83/"><span class="level-start"><span class="level-item">其它</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li></ul></div></div></div><div class="card widget" data-type="recent-posts"><div class="card-content"><h3 class="menu-label">Recents</h3><article class="media"><div class="media-content"><p class="date"><time dateTime="2021-12-20T14:33:22.000Z">2021-12-20</time></p><p class="title"><a href="/2021/12/20/%E5%81%8F%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0/">偏相关系数</a></p><p class="categories"><a href="/categories/python/">python</a> / <a href="/categories/python/%E7%AE%97%E6%B3%95/">算法</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2021-07-15T07:31:57.000Z">2021-07-15</time></p><p class="title"><a href="/2021/07/15/%E6%96%87%E7%8C%AE%E7%AE%A1%E7%90%86%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%88%86%E6%9E%90%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">文献管理与信息分析学习笔记</a></p><p class="categories"><a href="/categories/%E5%85%B6%E5%AE%83/">其它</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2021-07-12T06:25:34.000Z">2021-07-12</time></p><p class="title"><a href="/2021/07/12/python%E9%81%A5%E6%84%9F%E6%95%B0%E6%8D%AE%E5%86%99%E4%B8%BA%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E5%B9%B6%E8%AF%BB%E5%8F%96/">python遥感数据写为二进制文件并读取</a></p><p class="categories"><a href="/categories/python/">python</a> / <a href="/categories/python/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/">数据处理</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2021-07-04T03:47:29.000Z">2021-07-04</time></p><p class="title"><a href="/2021/07/04/Hexo%E7%BB%93%E5%90%88Github%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/">Hexo结合Github搭建个人博客</a></p><p class="categories"><a href="/categories/%E5%85%B6%E5%AE%83/">其它</a></p></div></article></div></div><div class="card widget" data-type="archives"><div class="card-content"><div class="menu"><h3 class="menu-label">Archives</h3><ul class="menu-list"><li><a class="level is-mobile" href="/archives/2021/12/"><span class="level-start"><span class="level-item">December 2021</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li><li><a class="level is-mobile" href="/archives/2021/07/"><span class="level-start"><span class="level-item">July 2021</span></span><span class="level-end"><span class="level-item tag">3</span></span></a></li></ul></div></div></div><div class="card widget" data-type="tags"><div class="card-content"><div class="menu"><h3 class="menu-label">Tags</h3><div class="field is-grouped is-grouped-multiline"><div class="control"><a class="tags has-addons" href="/tags/Hexo/"><span class="tag">Hexo</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/python/"><span class="tag">python</span><span class="tag">2</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/"><span class="tag">个人博客</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E4%BA%8C%E8%BF%9B%E5%88%B6/"><span class="tag">二进制</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E5%81%8F%E7%9B%B8%E5%85%B3/"><span class="tag">偏相关</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/"><span class="tag">数据处理</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/%E6%96%87%E7%8C%AE%E7%AE%A1%E7%90%86/"><span class="tag">文献管理</span><span class="tag">1</span></a></div></div></div></div></div></div><!--!--></div></div></section><footer class="footer"><div class="container"><div class="level"><div class="level-start"><a class="footer-logo is-block mb-2" href="/"><img src="/img/leaves_world_icon.svg" alt="pan" height="28"></a><p class="is-size-7"><span>© 2021 pan</span> Powered by <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a> & <a href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank" rel="noopener">Icarus</a><br><span id="busuanzi_container_site_uv">Visited by <span id="busuanzi_value_site_uv">0</span> users</span></p></div><div class="level-end"><div class="field has-addons"><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Creative Commons" href="https://creativecommons.org/"><i class="fab fa-creative-commons"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Attribution 4.0 International" href="https://creativecommons.org/licenses/by/4.0/"><i class="fab fa-creative-commons-by"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="GitHub" href="https://github.com/yhpan"><i class="fab fa-github"></i></a></p></div></div></div></div></footer><script src="https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/npm/moment@2.22.2/min/moment-with-locales.min.js"></script><script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.4/dist/clipboard.min.js" defer></script><script>moment.locale("en");</script><script>var IcarusThemeSettings = {
article: {
highlight: {
clipboard: true,
fold: 'unfolded'
}
}
};</script><script src="/js/column.js"></script><script src="/js/animation.js"></script><a id="back-to-top" title="Back to top" href="javascript:;"><i class="fas fa-chevron-up"></i></a><script src="/js/back_to_top.js" defer></script><!--!--><!--!--><!--!--><!--!--><script src="https://cdn.jsdelivr.net/npm/lightgallery@1.6.8/dist/js/lightgallery.min.js" defer></script><script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js" defer></script><script>window.addEventListener("load", () => {
if (typeof $.fn.lightGallery === 'function') {
$('.article').lightGallery({ selector: '.gallery-item' });
}
if (typeof $.fn.justifiedGallery === 'function') {
if ($('.justified-gallery > p > .gallery-item').length) {
$('.justified-gallery > p > .gallery-item').unwrap();
}
$('.justified-gallery').justifiedGallery();
}
});</script><!--!--><!--!--><!--!--><!--!--><!--!--><script src="/js/main.js" defer></script><div class="searchbox"><div class="searchbox-container"><div class="searchbox-header"><div class="searchbox-input-container"><input class="searchbox-input" type="text" placeholder="Type something..."></div><a class="searchbox-close" href="javascript:;">×</a></div><div class="searchbox-body"></div></div></div><script src="/js/insight.js" defer></script><script>document.addEventListener('DOMContentLoaded', function () {
loadInsight({"contentUrl":"/content.json"}, {"hint":"Type something...","untitled":"(Untitled)","posts":"Posts","pages":"Pages","categories":"Categories","tags":"Tags"});
});</script></body></html>