<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://jason1ko.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jason1ko.github.io/" rel="alternate" type="text/html" /><updated>2026-03-08T04:42:28+00:00</updated><id>https://jason1ko.github.io/feed.xml</id><title type="html">Han Jun Ko</title><subtitle>An amazing website.</subtitle><author><name>Han Jun Ko</name></author><entry><title type="html">Introduction</title><link href="https://jason1ko.github.io/data%20science%20institute/DSI-intro/" rel="alternate" type="text/html" title="Introduction" /><published>2025-03-01T23:59:59+00:00</published><updated>2025-03-01T23:59:59+00:00</updated><id>https://jason1ko.github.io/data%20science%20institute/DSI-intro</id><content type="html" xml:base="https://jason1ko.github.io/data%20science%20institute/DSI-intro/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">
  <h1>Data Science Institute</h1>
  <h2>Introduction</h2>
  <p>
    The Yonsei University Data Science Institute is a center where graduate students in the Department of Statistics and Data Science provide statistical consulting to graduate students both within and outside Yonsei. 
    When students encounter questions about statistical methodology while writing their theses, the institute helps them clarify their research design and suggests appropriate analytical solutions.
  </p>

  <p>
    I participated in this institute as a consulting researcher for one semester. During that time, I handled several consultations, and I have summarized some of the main cases and lessons learned on this blog. 
    Right now, this page serves as the <strong>Introduction</strong> under the <strong>Data Science Institute</strong> category on the left sidebar.
    If you would like to see the specific consulting cases, please read the posts below in order, starting with <strong>Consultation 1</strong>, then <strong>Consultation 2</strong>, and so on.
  </p>
  
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Data Science Institute" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Consultation 1</title><link href="https://jason1ko.github.io/data%20science%20institute/DSI-c1/" rel="alternate" type="text/html" title="Consultation 1" /><published>2025-03-01T23:59:00+00:00</published><updated>2025-03-01T23:59:00+00:00</updated><id>https://jason1ko.github.io/data%20science%20institute/DSI-c1</id><content type="html" xml:base="https://jason1ko.github.io/data%20science%20institute/DSI-c1/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>



<div class="main-content">

<body>


<div class="container-fluid main-container">




<div id="header">




</div>


<div id="consultation-1-repeated-measures-anova-for-office-image-effects-on-stress" class="section level1">
<h1>Consultation 1: Repeated-Measures ANOVA for Office-Image Effects on
Stress</h1>
<div id="i.-clients-inquiry" class="section level2">
<h2>I. Client’s Inquiry</h2>
<p>This study aims to examine the effects of indoor office environment
images on stress levels. To achieve this, three spatial variables were
defined: <strong>color</strong> (cool/warm), <strong>ceiling
height</strong> (low/high), and <strong>window view</strong>
(urban/natural).</p>
<p>The experiment consists of two stages (<strong>Test 1</strong> and
<strong>Test 2</strong>) conducted on the same group of 30
participants.</p>
<div id="test-1" class="section level3">
<h3><strong>Test 1:</strong></h3>
<p>To investigate the individual effects of each spatial variable,
images representing each condition (a total of 6 images) will be
presented separately.<br />
Paired-sample t-tests will be used to compare stress indices across
conditions in order to determine whether there are significant
differences between them.</p>
</div>
<div id="test-2" class="section level3">
<h3><strong>Test 2:</strong></h3>
<p>In the second stage, combinations of the three variables will be used
to create <strong>2 × 2 × 2 conditions</strong> (color × ceiling height
× view), resulting in a total of 8 image conditions.<br />
Stress levels will be measured under each condition, with <strong>stress
index</strong> as the dependent variable and <strong>environmental
condition (8 combinations)</strong> as the independent variable.<br />
A <strong>One-way Repeated Measures ANOVA</strong> will be conducted to
examine whether there are significant differences in mean stress levels
among the combined environmental conditions.</p>
<p>We would like to ask for your review regarding whether this
statistical design and analysis approach is appropriate, and whether
there might be a simpler or clearer method for analyzing the data.<br />
In particular, we would like to confirm whether the use of
<strong>One-way ANOVA</strong> or <strong>One-way Repeated Measures
ANOVA</strong> is suitable in this case, and whether the sample size of
<strong>30 participants</strong> is sufficient or should be
increased.</p>
<hr />
</div>
</div>
<div id="ii.-answer" class="section level2">
<h2>II. Answer</h2>
<div id="test-1-1" class="section level3">
<h3>1. Test 1</h3>
<p>The model is given as <span class="math display">\[Y_{ij} = \mu +
\tau_j + s_i + \epsilon_{ij}\]</span> where</p>
<ul>
<li><span class="math inline">\(Y_{ij}\)</span> : ith subject’s stress
figure when exposed to jth condition (color, …)</li>
<li><span class="math inline">\(\mu\)</span> : mean</li>
<li><span class="math inline">\(\tau_j\)</span> : the effect of color
condition ( Cool colors vs. warm colors)</li>
<li><span class="math inline">\(s_i\)</span>​: the effect of subjects
(random effect)</li>
<li><span class="math inline">\(\epsilon_{ij}\)</span>​: error</li>
</ul>
<p>the way to adjust the significance level (Bonferroni) : <span class="math inline">\(\alpha_B = \alpha/n\)</span> That is: each test is
considered significant only if its p-value is less than <span class="math inline">\(\alpha/n\)</span>. This ensures that the overall
significance level remains at <span class="math inline">\(\alpha\)</span>.</p>
<p>If there are more than 3 levels? =&gt; One-way Repeated Measures
ANOVA. ex) 3 colors.</p>
<p>Idendical model, but the number of <span class="math inline">\(\tau_j\)</span> is 3: <span class="math inline">\(j=1,2,3\)</span>. Then, the null hypothesis is</p>
<p><span class="math display">\[H_0 : \tau_1 = \tau_2 =
\tau_3\]</span></p>
<p>If the null hypothesis is rejected, it means that at least one of the
levels has a different effect. The specific levels that differ can be
identified through pairwise t-tests. For instance,</p>
<ul>
<li>cool color vs neutral color</li>
<li>cool color vs warm color</li>
<li>neutral color vs warm color</li>
</ul>
<p>At this point, a Bonferroni correction (or similar adjustment) should
be applied.</p>
<p>We may have the following question : &gt; <em>If we conduct a
Three-way Repeated Measures ANOVA from the start, can we still check the
significance of each factor in the same way?</em></p>
<p>The Three-way RM ANOVA can encompass the t-test results from Test 1,
but it does not guarantee completely identical outcomes. Test 1 is
designed to evaluate each factor in isolation, whereas the Three-way RM
ANOVA analyzes the effect of each factor while all factors act
simultaneously.</p>
<p>If all interaction effects are not significant, the main effects of
each factor can be interpreted independently. In this case, the main
effect results from the Three-way RM ANOVA and the results from
analyzing each factor separately using t-tests can provide practically
similar or even identical conclusions.</p>
<p>However, the main effects in a Three-way RM ANOVA represent the
average effects while controlling for the mean influence of other
factors, whereas t-tests examine the effects with other factors held
constant. Therefore, due to the differences in design and
interpretation, the numerical results may differ.</p>
</div>
<div id="test-2-1" class="section level3">
<h3>2. Test 2</h3>
<div id="one-way-rm-anova" class="section level4">
<h4>(1) one-way RM anova</h4>
<p>model : <span class="math display">\[Y_{ij} = \mu + \tau_j + s_i +
\epsilon_{ij}\]</span></p>
<ul>
<li><span class="math inline">\(\tau_j\)</span> : jth effect (j =
1,…,8)</li>
<li><span class="math inline">\(s_i\)</span> : ith subject effect,
random effect</li>
</ul>
<p>Then,</p>
<p>null hypothesis : tau_1 = … = tau_8, alternative hypothesis : At
least one of them has a different stress index.</p>
<p>If the null hypothesis is rejected, post-hoc tests can be used to
determine which conditions differ.</p>
<p>In conclusion, this approach is suitable if the goal is simply to
test whether the three factors have no overall effect. However, it is
not appropriate if you want to understand the individual effects of each
factor or their interaction effects.</p>
</div>
<div id="three-way-rm-anova" class="section level4">
<h4>(2) three-way rm anova</h4>
<p><span class="math display">\[Y_{ijkl} = \mu + color_j + level_k +
view_l + ...  + s_i + \epsilon_{ijkl}\]</span> - <span class="math inline">\(s_i\)</span> : subject effect (random effect)</p>
<p>It also allows you to identify both the main effects of each factor
and the presence of interaction effects. Through this, you can
determine: - whether each factor (e.g., color) has a significant effect,
and - whether there are interaction effects between two or among all
three factors.<br />
(This is done by checking whether p &lt; 0.05 ⇒ significant.)</p>
</div>
</div>
<div id="better-model" class="section level3">
<h3>3. Better model</h3>
<div id="clients-analysis-objective" class="section level4">
<h4>(1) Client’s Analysis Objective:</h4>
<ul>
<li><p>To determine whether each design element (color, ceiling height,
and window view) has an individual effect.</p></li>
<li><p>To see whether stress levels differ depending on the combination
of conditions.</p></li>
<li><p>If possible, to further identify which specific combinations are
particularly effective.</p></li>
</ul>
</div>
<div id="comparison" class="section level4">
<h4>(2) Comparison:</h4>
<ul>
<li><p><strong>Interpretability:</strong> One-way RM ANOVA shows only
the mean differences among the 8 conditions,<br />
whereas Three-way RM ANOVA reveals the main effects of color, ceiling
height, and window view, as well as their interaction effects.</p></li>
<li><p><strong>Clarity of interpretation:</strong> One-way RM ANOVA
allows statements like “Which combination resulted in lower
stress,”<br />
while Three-way RM ANOVA allows statements such as “What is the average
effect of color on stress.”</p></li>
</ul>
</div>
<div id="conclusion-three-way-rm-anova" class="section level4">
<h4>(3) Conclusion: Three-way RM ANOVA</h4>
<p>The client’s main interest is not just in comparing
combinations,<br />
→ but in understanding <strong>how much each design factor (color,
ceiling height, view)</strong> influences stress.</p>
<p>A One-way RM ANOVA only shows whether there are differences among the
8 combinations,<br />
→ but it can never tell whether those differences are due to color,
ceiling height, or their interaction.</p>
<p>In contrast, a Three-way RM ANOVA can analyze<br />
→ the main effects of color, ceiling height, and window view,<br />
→ as well as all possible interaction effects among them.</p>
<p>Given that the core purpose of the experiment is to understand how
these design factors affect stress,<br />
→ the Three-way RM ANOVA is a more suitable approach than the One-way RM
ANOVA.</p>
</div>
</div>
<div id="participants" class="section level3">
<h3>4. [30] participants</h3>
<p><strong>Appropriate Minimum Benchmark</strong></p>
<p>When the sample size is around <strong>30 or more</strong>, the
sampling distribution of the mean approximately follows a <strong>normal
distribution</strong>.<br />
→ Therefore, under the assumption of normality, the use of
<strong>t-tests</strong> and <strong>ANOVA</strong> becomes valid.<br />
→ For this reason, <strong>“30 participants”</strong> is widely used as
a practical benchmark in research.</p>
<p>cf) <strong>Advantage of Repeated Measures Design:</strong><br />
It provides <strong>higher statistical power</strong> with a
<strong>smaller sample size</strong> compared to an independent-sample
design.</p>
</div>
</div>
</div>




</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

</body>

  
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Data Science Institute" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Consultation 2</title><link href="https://jason1ko.github.io/data%20science%20institute/DSI-c2/" rel="alternate" type="text/html" title="Consultation 2" /><published>2025-03-01T23:50:00+00:00</published><updated>2025-03-01T23:50:00+00:00</updated><id>https://jason1ko.github.io/data%20science%20institute/DSI-c2</id><content type="html" xml:base="https://jason1ko.github.io/data%20science%20institute/DSI-c2/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<body>


<div class="container-fluid main-container">




<div id="header">




</div>


<div id="consultation-2-repeated-measures-anova-and-multilevel-mediation-for-a-four-type-persuasion-study" class="section level1">
<h1>Consultation 2: Repeated-Measures ANOVA and Multilevel Mediation for
a Four-Type Persuasion Study</h1>
<div id="i.-clients-inquiry" class="section level2">
<h2>I. Client’s Inquiry</h2>
<div id="context" class="section level3">
<h3>1. Context</h3>
<p>The client seeks <strong>statistical consulting</strong> to (a)
choose appropriate analysis methods for their study and (b) potentially
outsource analyses if they are too difficult to perform
independently.</p>
</div>
<div id="key-questions" class="section level3">
<h3>2. Key Questions</h3>
<div id="q1.-appropriateness-of-h1-h2-analyses" class="section level4">
<h4>Q1. Appropriateness of H1 &amp; H2 Analyses</h4>
<ul>
<li><strong>Design:</strong> within-subjects (repeated measures);
<strong>all participants</strong> experienced <strong>four persuasion
types</strong> (A, B, C, D).</li>
<li><strong>Sample size:</strong> <strong>n = 286</strong>.</li>
<li><strong>Assumptions:</strong> <strong>normality violated</strong>,
<strong>sphericity violated</strong>.</li>
<li><strong>Question:</strong> Is it acceptable to use <strong>One-Way
Repeated Measures ANOVA</strong> with
<strong>Greenhouse–Geisser</strong> correction under these
violations?</li>
</ul>
</div>
<div id="q2.-possibility-of-mediation-analysis-for-h3" class="section level4">
<h4>Q2. Possibility of Mediation Analysis for H3</h4>
<ul>
<li><strong>Independent variable structure:</strong> 4 <strong>equally
weighted</strong> types; there is no single “reference” type, so
standard dummy-coding with one baseline is not conceptually ideal.</li>
<li><strong>Design issue:</strong> All participants saw <strong>all four
types</strong> (repeated measures); classic mediation frameworks often
assume <strong>between-subjects</strong> manipulations.</li>
<li><strong>Current fallback:</strong> <strong>Simple
regressions</strong> testing whether <strong>perceived autonomy</strong>
significantly predicts <strong>behavioral intention</strong>,
<strong>interaction satisfaction</strong>, and <strong>reuse
intention</strong>.</li>
<li><strong>Question:</strong> Despite the within-subjects design and
four-level factor, is there a <strong>valid mediation approach</strong>
for H3?</li>
</ul>
</div>
<div id="q3-appropriate-analysis-for-manipulation-check-items-p.-8" class="section level4">
<h4>Q3 Appropriate Analysis for Manipulation-Check Items</h4>
<ul>
<li>Example (Type A): show that <strong>emotional appeal / gain
framing</strong> scores are <strong>high</strong>, whereas
<strong>rational appeal / loss framing</strong> scores are
<strong>low</strong>.</li>
<li><strong>Question:</strong> What statistical tests should be used to
demonstrate that the manipulations worked as intended?</li>
</ul>
</div>
<div id="q4.-balanced-latin-square-whether-an-independent-groups-design-is-preferable" class="section level4">
<h4>Q4. Balanced Latin Square &amp; Whether an Independent-Groups Design
Is Preferable</h4>
</div>
</div>
<div id="proposedconsidered-analysis-techniques" class="section level3">
<h3>3. Proposed/Considered Analysis Techniques</h3>
<ol style="list-style-type: decimal">
<li><strong>Repeated-Measures ANOVA</strong> (primary for H1/H2).</li>
<li><strong>Mediation analysis / Simple regression</strong> (for H3, as
feasible).</li>
</ol>
</div>
<div id="hypotheses" class="section level3">
<h3>4. Hypotheses</h3>
<ul>
<li><strong>H1:</strong> Do <strong>behavioral intention</strong>,
<strong>interaction satisfaction</strong>, and <strong>reuse
intention</strong> differ by <strong>persuasion type</strong>?</li>
<li><strong>H2:</strong> Does <strong>perceived autonomy</strong> differ
by <strong>persuasion type</strong>?</li>
<li><strong>H3 (Version 1 – Mediation):</strong> <strong>Perceived
autonomy</strong> mediates the relationship between <strong>persuasion
type</strong> and each outcome (<strong>behavioral intention</strong>,
<strong>interaction satisfaction</strong>, <strong>reuse
intention</strong>).</li>
<li><strong>H3 (Version 2 – Simple Regression):</strong> Within each
<strong>persuasion type</strong>, <strong>perceived autonomy</strong>
significantly predicts <strong>behavioral intention</strong>,
<strong>interaction satisfaction</strong>, and <strong>reuse
intention</strong>.</li>
</ul>
</div>
<div id="data-description" class="section level3">
<h3>5. Data Description</h3>
<ul>
<li><strong>N = 286</strong> survey respondents.</li>
<li><strong>Scales:</strong> 5-point Likert, multiple-choice
questionnaire items.</li>
<li><strong>Mediator:</strong> <strong>Perceived autonomy</strong>.</li>
<li><strong>Outcomes (DVs):</strong> <strong>Behavioral
intention</strong>, <strong>interaction satisfaction</strong>,
<strong>reuse intention</strong>.</li>
<li><strong>Independent variable (IV):</strong> <strong>Four persuasion
types</strong> (operationalized via image stimuli).</li>
</ul>
<hr />
</div>
</div>
<div id="ii.-answer-of-q1" class="section level2">
<h2>II. Answer of Q1</h2>
<div id="model" class="section level3">
<h3>1. Model</h3>
<p><strong>Conclusion:</strong> A <strong>one-way repeated-measures (RM)
ANOVA</strong> is the appropriate analysis.</p>
<ul>
<li><strong>Design:</strong> Within-subjects. All participants evaluated
<strong>four persuasion types</strong> (A, B, C, D).</li>
<li><strong>Dependent variables:</strong>
<ul>
<li>For <strong>H2</strong>: <em>Perceived autonomy</em><br />
</li>
<li>For <strong>H1</strong>: <em>Behavioral intention</em>,
<em>interaction satisfaction</em>, <em>reuse intention</em></li>
</ul></li>
<li>The <strong>same 286 participants</strong> experienced <strong>all
four conditions</strong> and provided repeated responses for the same
outcomes under each condition. Because observations are <strong>not
independent across conditions within participants</strong>, a
<strong>repeated-measures</strong> approach is required.</li>
</ul>
<p><strong>Model:</strong> <span class="math display">\[
Y_{ij} = \mu + \alpha_j + s_i + \epsilon_{ij}
\]</span> where <span class="math inline">\(Y_{ij}\)</span> is the
outcome for participant <span class="math inline">\(i\)</span> in
condition <span class="math inline">\(j\)</span>, <span class="math inline">\(\mu\)</span> is the grand mean, <span class="math inline">\(\alpha_j\)</span> is the fixed effect of
persuasion type <span class="math inline">\(j\)</span>, <span class="math inline">\(s_i\)</span> is the (random) subject effect, and
<span class="math inline">\(\epsilon_{ij}\)</span> is the residual.</p>
<p><strong>cf) Note on Two-Way Repeated-Measures ANOVA</strong> -
<strong>Technically feasible</strong>, but here the client <strong>did
not separate</strong> <em>appeal</em> (emotional vs. rational) and
<em>framing</em> (gain vs. loss) as two orthogonal factors.<br />
- Instead, these were <strong>combined into a single factor</strong>
(“persuasion type”).<br />
- Since the goal is to <strong>compare differences among the four
types</strong>, <strong>one-way RM ANOVA</strong> better matches the
research objective.</p>
</div>
<div id="normality" class="section level3">
<h3>2. Normality</h3>
<div id="kolmogorovsmirnov-ks-normality-test" class="section level4">
<h4>(1) Kolmogorov–Smirnov (K–S) Normality Test</h4>
<p><strong>Definition.</strong> Tests whether the sample empirical CDF
(ECDF) differs significantly from the CDF of a normal distribution.</p>
<ul>
<li>For sample <span class="math inline">\(X_1, X_2, \ldots,
X_n\)</span>, the ECDF is<br />
<span class="math display">\[
F_n(x) = \frac{1}{n}\sum_{i=1}^n \mathbf{1}(X_i \le x).
\]</span></li>
<li>Test statistic:<br />
<span class="math display">\[
D = \sup_x \lvert F_n(x) - F(x) \rvert,
\]</span> the maximum absolute gap between the ECDF and the target
normal CDF.</li>
<li>Hypotheses:<br />
<span class="math inline">\(H_0\)</span>: the sample follows a normal
distribution.<br />
<span class="math inline">\(H_1\)</span>: the sample does not follow a
normal distribution.</li>
<li>Decision rule: if <span class="math inline">\(p\)</span>-value <span class="math inline">\(&lt; 0.05\)</span>, reject <span class="math inline">\(H_0\)</span> (i.e., normality is violated).</li>
</ul>
<p><strong>Procedure</strong> 1. Compute the ECDF at each observation.
2. Compute the normal CDF (with appropriate mean/SD). 3. Compute <span class="math inline">\(D\)</span>. 4. Compare to the critical value (or
obtain a <span class="math inline">\(p\)</span>-value) at significance
level <span class="math inline">\(\alpha\)</span> and test <span class="math inline">\(H_0\)</span>.</p>
</div>
<div id="shapirowilk-normality-test" class="section level4">
<h4>(2) Shapiro–Wilk Normality Test</h4>
<p>For sample <span class="math inline">\(x_1, x_2, \ldots, x_n\)</span>
(with order statistics <span class="math inline">\(x_{(1)} \le \cdots
\le x_{(n)}\)</span>), the statistic is <span class="math display">\[
W = \frac{\left(\sum_{i=1}^n a_i\, x_{(i)}\right)^2}{\sum_{i=1}^n (x_i -
\bar{x})^2},
\]</span> where <span class="math inline">\(a_i\)</span> are weights
derived under normality.</p>
<p><strong>Interpretation</strong></p>
<ul>
<li>Numerator: squared linear combination aligning observed order
statistics with those expected under normality.</li>
<li>Denominator: sample variance (total variation).</li>
<li><span class="math inline">\(W \approx 1\)</span> indicates strong
concordance with normality; smaller <span class="math inline">\(W\)</span> indicates departures from
normality.</li>
</ul>
<p><strong>Hypotheses</strong></p>
<ul>
<li><span class="math inline">\(H_0\)</span>: the sample follows a
normal distribution.</li>
<li><span class="math inline">\(H_1\)</span>: the sample does not follow
a normal distribution.<br />
Reject <span class="math inline">\(H_0\)</span> when <span class="math inline">\(p\)</span>-value <span class="math inline">\(&lt;
0.05\)</span>.</li>
</ul>
</div>
<div id="appropriateness-of-normality-testing-in-this-study" class="section level4">
<h4>(3) Appropriateness of Normality Testing in This Study</h4>
<p><strong>1) On averaging item scores within each
condition</strong></p>
<p>Averaging two items per condition can <strong>attenuate</strong>
non-normality. Therefore, it is preferable to test normality on the
<strong>original item-level scores</strong> rather than on the averaged
composites.</p>
<p><strong>2) Accounting for the repeated-measures
structure</strong></p>
<p>Because the design is <strong>within-subjects</strong>, measurements
are <strong>correlated</strong> across conditions (A/B/C/D). Testing
normality separately on each condition’s raw scores ignores this
correlation and can bias interpretation.</p>
<p>A more appropriate approach is to examine the
<strong>residuals</strong> from the repeated-measures model: <span class="math display">\[
Y_{ij} = \mu + \alpha_j + s_i + \epsilon_{ij},
\]</span> where <span class="math inline">\(\alpha_j\)</span> is the
fixed effect of condition <span class="math inline">\(j\)</span>, <span class="math inline">\(s_i\)</span> is the (random) subject effect, and
<span class="math inline">\(\epsilon_{ij} \sim
\mathcal{N}(0,\sigma^2)\)</span>.</p>
<ul>
<li>Pool <strong>all residuals across A, B, C, D</strong> and assess
their normality (e.g., Shapiro–Wilk or K–S on the residuals).</li>
<li><strong>Why not per-condition tests?</strong> The subject-specific
effect <span class="math inline">\(s_i\)</span> influences all
conditions; evaluating a single condition in isolation incompletely
accounts for this shared effect.</li>
</ul>
<p><strong>Visual diagnostics are recommended</strong> alongside tests
(e.g., QQ-plots of residuals).</p>
</div>
</div>
<div id="other-models-beyond-simple-one-way-anova" class="section level3">
<h3>3. Other Models (Beyond Simple One-Way ANOVA)</h3>
<div id="one-way-anova-between-subjects" class="section level4">
<h4>(1) One-Way ANOVA (Between-Subjects)</h4>
<ul>
<li>Appropriate when <strong>different participant groups</strong> each
experience <strong>only one condition</strong>.</li>
<li>Assumes <strong>independent observations</strong> across
groups.</li>
<li><strong>Not applicable here</strong> because all participants
experienced <strong>all four conditions</strong> (A/B/C/D).</li>
</ul>
</div>
<div id="repeated-measures-manova" class="section level4">
<h4>(2) Repeated-Measures MANOVA</h4>
<ul>
<li>Participants respond to <strong>multiple dependent
variables</strong> across <strong>multiple within-subject
conditions</strong> (e.g., A/B/C/D).</li>
<li>Analyzes <strong>several outcomes jointly</strong> (e.g., behavioral
intention, interaction satisfaction, reuse intention).</li>
<li>Useful when you want to test the <strong>common effect of
condition</strong> across <strong>correlated outcomes</strong>
simultaneously.
<ul>
<li>Example: If those three outcomes are correlated and you want to know
how they <strong>jointly</strong> change across A/B/C/D, RM-MANOVA is
appropriate.</li>
</ul></li>
</ul>
</div>
<div id="most-suitable-approach-for-this-study" class="section level4">
<h4>(3) Most Suitable Approach for This Study</h4>
<table>
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<thead>
<tr class="header">
<th>Focus</th>
<th>Do we analyze correlations among DVs?</th>
<th>Recommended analysis</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Compare each DV separately across A/B/C/D</td>
<td><strong>No</strong> (no explicit need stated)</td>
<td><strong>Separate one-way RM ANOVA per DV</strong> (current approach
is appropriate)</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="sphericity" class="section level3">
<h3>4. Sphericity</h3>
<ul>
<li><strong>Greenhouse–Geisser correction</strong> is a standard and
appropriate remedy when sphericity is violated.<br />
</li>
<li><strong>No issue</strong> using it in this context.</li>
</ul>
<hr />
</div>
</div>
<div id="iii.-answer-of-q2" class="section level2">
<h2>III. Answer of Q2</h2>
<div id="mediation-analysis" class="section level3">
<h3>1. Mediation Analysis</h3>
<p>Mediation analysis tests whether the effect of an independent
variable <code>X</code> on a dependent variable <code>Y</code> occurs
through a <strong>mediator <code>M</code></strong>.</p>
<p><strong>Structure:</strong></p>
<p>X (persuasion type) → M (perceived autonomy) → Y (behavioral
outcome)<br />
↘────────────────────────────────────────→ Y (direct path)</p>
<p><strong>Key effects:</strong></p>

<ul>
  <li><strong>a path</strong>: <code>X → M</code></li>
  <li><strong>b path</strong>: <code>M → Y</code> (controlling for <code>X</code>)</li>
  <li><strong>c’ path</strong>: <code>X → Y</code> (direct effect)</li>
  <li><strong>Indirect effect</strong>: <code>a · b</code></li>
</ul>

</div>
<div id="why-simple-regression-is-insufficient" class="section level3">
<h3>2. Why Simple Regression Is Insufficient</h3>
<p>The client proposes to:</p>
<ul>
<li>Run <strong>simple regressions</strong> within each persuasion type
(A, B, C, D) to test if <strong>perceived autonomy → behavioral
outcomes</strong> (behavioral intention, satisfaction, reuse
intention).</li>
</ul>
<p><strong>But this only examines the “b path” in
isolation.</strong><br />
It does not consider:</p>
<ul>
<li>The impact of persuasion type <code>X</code> on perceived autonomy
(<code>a</code> path)</li>
<li>Nor the full mediation structure</li>
<li>Nor the repeated-measures (within-subject) nature of the data</li>
</ul>
<p>Furthermore, regression assumes <strong>independence of
observations</strong>, which is violated here: the same participants
rated all 4 persuasion types.</p>
</div>
<div id="correct-method-repeated-measures-mediation-multilevel-mediation" class="section level3">
<h3>3. Correct Method: Repeated Measures Mediation (Multilevel
Mediation)</h3>
<p>Because the data involve:</p>
<ul>
<li><strong>All participants rating all 4 persuasion types</strong>
(within-subjects factor)</li>
<li><strong>Responses nested within participants</strong></li>
</ul>
<p>→ The correct approach is <strong>Multilevel Mediation
Analysis</strong> (also called Repeated Measures Mediation).</p>
</div>
<div id="model-structure" class="section level3">
<h3>4. Model Structure</h3>
<p><strong>Level 1 (within participants):</strong></p>
<p><span class="math display">\[\begin{aligned}
M_{ij} &amp;= \alpha_{0i} + a\,X_{ij} + r_{1ij} \\
Y_{ij} &amp;= \beta_{0i} + c&#39; \, X_{ij} + b \, M_{ij} + r_{2ij}
\end{aligned}\]</span></p>
<ul>
<li><span class="math inline">\(i\)</span>: participant<br />
</li>
<li><span class="math inline">\(j\)</span>: condition (A, B, C, D)</li>
</ul>
<p><strong>Level 2 (between participants):</strong></p>
<p><span class="math display">\[
\alpha_{0i} \sim \mathcal{N}(\gamma_{0}, \tau_{\alpha}^{2}), \quad
\beta_{0i} \sim \mathcal{N}(\delta_{0}, \tau_{\beta}^{2})
\]</span></p>
<p>→ This models both the fixed effects (mediation paths)
<strong>and</strong> random intercepts per participant.</p>
</div>
<div id="conclusion-key-message-for-client" class="section level3">
<h3>5. Conclusion (Key Message for Client)</h3>
<ul>
<li><strong>Yes, H3 mediation analysis <em>is possible</em></strong>
despite the repeated-measures design.</li>
<li>But it <strong>must be done</strong> using a <strong>Multilevel
Mediation model</strong> that accounts for the within-subject structure
of the data.</li>
<li>The simple regression approach may offer partial insight but
<strong>cannot test for mediation</strong> and violates statistical
assumptions (independence of residuals).</li>
<li>We strongly recommend using tools such as <code>lme4</code> and
<code>mediation</code> (or <code>brms</code> for Bayesian estimation) to
perform proper repeated-measures mediation.</li>
</ul>
<hr />
</div>
</div>
<div id="iv.-answer-of-q3" class="section level2">
<h2>IV. Answer of Q3</h2>
<div id="what-is-a-manipulation-check" class="section level3">
<h3>1. What is a Manipulation Check?</h3>
<p>A manipulation check verifies that the experimental manipulation (the
intended effect of the independent variable) was perceived by
participants as designed.<br />
Example: If you showed participants a <strong>“emotional
appeal”</strong> chatbot vs. a <strong>“rational appeal”</strong>
chatbot, you might ask, “How emotional was the chatbot you just saw?” (1
= not at all, 5 = very much).</p>
</div>
<div id="recommended-methods" class="section level3">
<h3>2. Recommended Methods</h3>
<div id="paired-dependent-t-tests" class="section level4">
<h4>(1) <strong>Paired (Dependent) t-tests</strong></h4>
<p>For <strong>each type</strong> (A, B, C, D), compare: -
<strong>Emotional</strong> vs <strong>Rational</strong> -
<strong>Gain</strong> vs <strong>Loss</strong></p>
<p>If, for a given type A, you find <strong>Emotional &gt;
Rational</strong> and <strong>Gain &gt; Loss</strong>, then the
manipulation for A is successful.</p>
<ul>
<li>First one-tailed test (Emotional vs Rational):<br />
<span class="math inline">\(H_0:\ \mu_{\text{Emo}} - \mu_{\text{Rat}} =
0\)</span><br />
<span class="math inline">\(H_1:\ \mu_{\text{Emo}} - \mu_{\text{Rat}}
&gt; 0\)</span></li>
<li>Second one-tailed test (Gain vs Loss):<br />
<span class="math inline">\(H_0:\ \mu_{\text{Gain}} - \mu_{\text{Loss}}
= 0\)</span><br />
<span class="math inline">\(H_1:\ \mu_{\text{Gain}} - \mu_{\text{Loss}}
&gt; 0\)</span></li>
</ul>
<p>Because the design <strong>predicts direction</strong> (Emotional
&gt; Rational; Gain &gt; Loss), <strong>one-tailed</strong> tests are
appropriate.</p>
<ul>
<li><strong>Multiplicity:</strong> There are <strong>8</strong> paired
t-tests total (2 contrasts × 4 types).<br />
Control the familywise error rate with <strong>Bonferroni</strong>: use
<span class="math inline">\(\alpha^* = 0.05/8\)</span> for each test (or
report adjusted <span class="math inline">\(p\)</span>-values).</li>
</ul>
</div>
<div id="one-way-repeated-measures-anova-within-a-type" class="section level4">
<h4>(2) <strong>One-Way Repeated-Measures ANOVA (within a
type)</strong></h4>
<p>Each participant provides Likert responses for all
<strong>four</strong> manipulation-check facets (<strong>Emotional,
Rational, Gain, Loss</strong>) → a within-subjects factor with 4 levels
is valid.</p>
<p>For a given type (e.g., A):</p>
<ul>
<li><span class="math inline">\(H_0\)</span>: <span class="math inline">\(\mu_{\text{Emo}} = \mu_{\text{Rat}} =
\mu_{\text{Gain}} = \mu_{\text{Loss}}\)</span><br />
</li>
<li><span class="math inline">\(H_1\)</span>: At least one mean
differs.</li>
</ul>
<p>If the ANOVA is significant (<span class="math inline">\(p &lt;
\alpha\)</span>), run <strong>pairwise comparisons</strong> (paired
t-tests) as <strong>post hoc</strong> to identify which pairs
differ.</p>
<ul>
<li>Number of pairs: <span class="math inline">\(\binom{4}{2} =
6\)</span>.<br />
</li>
<li>Apply a multiple-comparison correction (e.g., Bonferroni or
Holm).<br />
</li>
<li>Evidence of <strong>Emotional &gt; Rational</strong> and
<strong>Gain &gt; Loss</strong> indicates successful manipulation for
that type.</li>
</ul>
<blockquote>
<p>Most software (SPSS, R, etc.) can directly perform RM ANOVA and
<strong>post hoc paired comparisons</strong> with appropriate
adjustments.</p>
</blockquote>
</div>
</div>
<div id="non-normality-robust-alternatives" class="section level3">
<h3>3. Non-Normality: Robust Alternatives</h3>
<ul>
<li><strong>Paired t-test →</strong> <strong>Wilcoxon signed-rank
test</strong></li>
<li><strong>RM ANOVA →</strong> <strong>Friedman test</strong></li>
</ul>
<p>However, with <strong><span class="math inline">\(n=286\)</span></strong>, modest deviations from
normality are typically <strong>not consequential</strong> due to
large-sample robustness (CLT), especially for <strong>paired mean
differences</strong> and <strong>RM ANOVA residuals</strong>—provided
there are no extreme outliers or severe skewness. Complement tests with
<strong>QQ-plots</strong> and <strong>residual diagnostics</strong>.</p>
<hr />
</div>
</div>
<div id="v.-answer-of-q4" class="section level2">
<h2>V. Answer of Q4</h2>
<div id="appropriateness-of-a-balanced-latin-square" class="section level3">
<h3>1. Appropriateness of a Balanced Latin Square</h3>
<div id="example" class="section level4">
<h4>(1) Example</h4>
<p>A typical <strong>Balanced Latin Square</strong> for four
conditions:</p>
<table>
<thead>
<tr class="header">
<th>Order group</th>
<th>1st</th>
<th>2nd</th>
<th>3rd</th>
<th>4th</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Group 1</td>
<td>A</td>
<td>B</td>
<td>D</td>
<td>C</td>
</tr>
<tr class="even">
<td>Group 2</td>
<td>B</td>
<td>C</td>
<td>A</td>
<td>D</td>
</tr>
<tr class="odd">
<td>Group 3</td>
<td>C</td>
<td>D</td>
<td>B</td>
<td>A</td>
</tr>
<tr class="even">
<td>Group 4</td>
<td>D</td>
<td>A</td>
<td>C</td>
<td>B</td>
</tr>
</tbody>
</table>
<p>Each of A, B, C, D appears <strong>exactly once</strong> in each
serial position.</p>
</div>
<div id="is-it-suitable-re-minimizing-reviewer-concerns-about-order-effects" class="section level4">
<h4>(2) Is it suitable? (re: “minimizing reviewer concerns about order
effects”)</h4>
<ul>
<li>In within-subjects designs, a Balanced Latin Square is a
<strong>gold-standard method</strong> for order control—<strong>more
systematic</strong> than simple randomization.</li>
<li>In repeated-measures experiments, responses can depend on
presentation order (e.g., <strong>novelty/primacy</strong> for the first
stimulus; <strong>fatigue</strong> for the last). The balanced scheme
distributes such effects evenly across conditions.</li>
</ul>
</div>
<div id="must-group-sizes-be-identical" class="section level4">
<h4>(3) Must group sizes be identical?</h4>
<ul>
<li><strong>Not strictly.</strong> Minor imbalances (±1–2 participants)
are <strong>not problematic</strong>.</li>
<li>Large imbalances (e.g., <strong>50 vs 15</strong>) can distort
results; avoid pronounced disparities.</li>
</ul>
</div>
<div id="are-there-better-alternatives" class="section level4">
<h4>(4) Are there “better” alternatives?</h4>
<ul>
<li>For repeated-measures order control, the Balanced Latin Square is
already <strong>authoritative and appropriate</strong>.</li>
<li>Reporting that a Latin Square was used typically conveys
<strong>high design rigor</strong> to reviewers.</li>
</ul>
<p><strong>Sample size sufficiency</strong> - Minimum needed ≈
<strong>(# of orders) × (minimum per order)</strong>. - Here: <strong>4
orders</strong> and <strong>N = 286</strong>, i.e., about <strong>70 per
order</strong> → <strong>ample power</strong> and
<strong>validity</strong>.</p>
<p><strong>Optional model-based check for order effects</strong></p>
<p><span class="math display">\[
Y_{ijk} = \mu + \alpha_j + s_i + \gamma_k + \epsilon_{ijk}
\]</span></p>
<ul>
<li><span class="math inline">\(\alpha_j\)</span>: fixed effect of
condition <span class="math inline">\(j\)</span> (A/B/C/D)<br />
</li>
<li><span class="math inline">\(s_i\)</span>: random subject
effect<br />
</li>
<li><span class="math inline">\(\gamma_k\)</span>: fixed effect of
<strong>order group</strong> <span class="math inline">\(k=1,\dots,4\)</span></li>
</ul>
<p>If <span class="math inline">\(\gamma_k\)</span> is <strong>not
significant</strong>, order effects are negligible—evidence that the
Latin Square successfully controlled order.</p>
<blockquote>
<p>In short, the Latin Square is a <strong>validated</strong> method for
order control.</p>
</blockquote>
</div>
</div>
<div id="is-an-independent-groups-between-subjects-design-more-appropriate" class="section level3">
<h3>2. Is an Independent-Groups (Between-Subjects) Design More
Appropriate?</h3>
<div id="summary" class="section level4">
<h4>(1) Summary</h4>
<ol style="list-style-type: decimal">
<li><strong>Is the current repeated-measures design
appropriate?</strong> ✅ <strong>Yes—very appropriate</strong> and
aligned with the study goals.<br />
</li>
<li><strong>Would between-subjects be better?</strong> ❌
<strong>No—likely reduces accuracy</strong> (more noise from individual
differences).</li>
</ol>
</div>
<div id="side-by-side-comparison" class="section level4">
<h4>(2) Side-by-side comparison</h4>
<table>
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<thead>
<tr class="header">
<th>Aspect</th>
<th>Repeated-Measures (current)</th>
<th>Independent-Groups (alternative)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Statistical power</td>
<td>✅ <strong>Higher</strong> (shared variance removed)</td>
<td>❌ <strong>Lower</strong> (more error from individual
differences)</td>
</tr>
<tr class="even">
<td>Individual differences</td>
<td>✅ <strong>Controlled</strong> (same person rates all
conditions)</td>
<td>❌ <strong>Uncontrolled</strong></td>
</tr>
<tr class="odd">
<td>Order effects</td>
<td>⚠️ <strong>Potential</strong> → <strong>mitigate with Balanced Latin
Square</strong></td>
<td>✅ <strong>Absent by design</strong></td>
</tr>
<tr class="even">
<td>Fit to research aim (compare persuasion types)</td>
<td>✅ <strong>Excellent</strong></td>
<td>❌ Risk that group composition (traits) confounds condition
effects</td>
</tr>
</tbody>
</table>
</div>
<div id="answers-to-common-concerns" class="section level4">
<h4>(3) Answers to common concerns</h4>
<p><strong>“Isn’t it more valid to assign each condition to a different
random group?”</strong><br />
No. Individual differences can obscure or distort true condition
effects.<br />
Example: If Group A is more sensitive to emotional content and Group D
is less so, the outcomes may reflect <strong>participant
traits</strong>, not <strong>chatbot persuasion</strong>.</p>
<p><strong>“What about fatigue or order effects in repeated
measures?”</strong><br />
Valid concern, but <strong>Balanced Latin Square</strong> minimizes
order effects. Some fatigue may remain, but it’s a typical and
acceptable tradeoff for <strong>cleaner comparisons</strong>. Many
psychological experiments use repeated-measures for this reason.</p>
<p><strong>“Do we need to recollect data?”</strong><br />
<strong>Absolutely not.</strong> Your current design is
<strong>ideal</strong> for the research questions.</p>
</div>
</div>
</div>
</div>




</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

  </body>

  
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Data Science Institute" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Consultation 3</title><link href="https://jason1ko.github.io/data%20science%20institute/DSI-c3/" rel="alternate" type="text/html" title="Consultation 3" /><published>2025-03-01T23:45:59+00:00</published><updated>2025-03-01T23:45:59+00:00</updated><id>https://jason1ko.github.io/data%20science%20institute/DSI-c3</id><content type="html" xml:base="https://jason1ko.github.io/data%20science%20institute/DSI-c3/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<body>


<div class="container-fluid main-container">




<div id="header">




</div>


<div id="consultation3-glmmgee-kappa-for-acs-preference-data" class="section level1">
<h1>Consultation3 : GLMM/GEE &amp; Kappa for ACS Preference Data</h1>
<div id="i.-clients-inquiry-1" class="section level2">
<h2>I. Client’s Inquiry 1</h2>
<p>Fifty patients with aphasia were asked to select their preferred
activities using the <strong>ACS activity cards</strong>.<br />
The ACS consists of <strong>67 cards</strong> in total, including
<strong>33 instrumental activities</strong>, <strong>18 leisure
activities</strong>, and <strong>16 social activities</strong>, each
represented by a printed photograph.</p>
<p>First, the researcher presented the <strong>33 instrumental activity
cards</strong> to each patient one by one and asked whether the patient
would like to perform the activity.</p>
<ul>
<li>If the patient did <strong>not</strong> want to do the activity, it
was coded as <strong>0</strong>.</li>
<li>If the patient <strong>wanted</strong> to do the activity, it was
coded as <strong>1</strong>.</li>
<li>For example, if <code>acs_instrumental_1 = 1</code> in the Excel
coding file, it indicates that the patient prefers instrumental activity
#1 (visiting a hospital).</li>
</ul>
<p>After all 33 instrumental activities were classified, only the
activities selected as preferred were gathered, and the patient was
asked to choose their <strong>Top 1</strong> preferred activity among
them. The activity number was recorded in
<code>acs_instrumental_top1</code>. For example, if
<code>acs_instrumental_top1 = 5</code>, it indicates that instrumental
activity #5 (preparing a meal) was selected as the top preference.</p>
<p>After completing the instrumental activity classification, the same
procedure was applied to:</p>
<ul>
<li><strong>Leisure activities</strong>
(<code>acs_leisure_34</code>–<code>acs_leisure_51</code>,
<code>acs_leisure_top1</code>)</li>
<li><strong>Social activities</strong>
(<code>acs_social_52</code>–<code>acs_social_67</code>,
<code>acs_social_top1</code>)</li>
</ul>
<p>To evaluate <strong>intra-rater reliability</strong> of the ACS, a
second assessment was conducted for <strong>30 out of the 50
patients</strong>, <strong>2 weeks to 4 months</strong> after the first
assessment.</p>
<p><strong>Demographic variables</strong></p>
<ol style="list-style-type: decimal">
<li><p><code>sex</code>: 1 = male, 2 = female<br />
</p></li>
<li><p><code>age</code>: numeric<br />
</p></li>
<li><p><code>education</code>:</p>
<ul>
<li>1 = no schooling<br />
</li>
<li>2 = elementary school<br />
</li>
<li>3 = middle school<br />
</li>
<li>4 = high school<br />
</li>
<li>5 = college</li>
</ul></li>
<li><p><code>job</code>:</p>
<ul>
<li>1 = unemployed<br />
</li>
<li>2 = production<br />
</li>
<li>3 = service<br />
</li>
<li>4 = sales<br />
</li>
<li>5 = office<br />
</li>
<li>6 = professional<br />
</li>
<li>7 = managerial</li>
</ul></li>
<li><p><code>hand</code>: 1 = right-handed, 2 = left-handed</p></li>
</ol>
<p>What <strong>statistical methods</strong> are appropriate for this
analysis, and how should the <strong>variables be coded</strong>?</p>
</div>
<div id="answer-of-inquiry-1" class="section level2">
<h2>Answer of Inquiry 1</h2>
<div id="recommended-statistical-approach" class="section level3">
<h3>1. Recommended statistical approach</h3>
<ul>
<li>The outcomes (<code>acs_instrumental_1</code> to
<code>acs_instrumental_33</code>) are <strong>binary</strong> (0/1), and
each subject provides <strong>33 repeated responses</strong>, so
observations <strong>within a subject are correlated</strong>.</li>
<li>Therefore, instead of running 33 separate logistic regressions, it
is recommended to use:
<ul>
<li><strong>Logistic GLMM (Generalized Linear Mixed Model)</strong> with
a <strong>random intercept for subject</strong>, or</li>
<li><strong>Logistic GEE (Generalized Estimating Equations)</strong> to
account for within-subject correlation.</li>
</ul></li>
</ul>
</div>
<div id="why-restructuring-to-long-format-is-needed" class="section level3">
<h3>2. Why restructuring to long format is needed</h3>
<ul>
<li>To fit GLMM/GEE properly, the data should be converted from
<strong>wide format</strong> (33 columns of outcomes) to <strong>long
format</strong>, where each row represents one (subject, activity)
observation.</li>
</ul>
<p><strong>Long-format example (key idea)</strong></p>
<ul>
<li><p>In long format:</p>
<ul>
<li><code>activity_id = 1</code> corresponds to
<code>acs_instrumental_1</code></li>
<li><code>response</code> is the value of that variable (0 or 1)</li>
</ul></li>
</ul>
<p>Example rows:</p>
<table>
<colgroup>
<col width="17%" />
<col width="19%" />
<col width="14%" />
<col width="7%" />
<col width="7%" />
<col width="16%" />
<col width="7%" />
<col width="8%" />
</colgroup>
<thead>
<tr class="header">
<th align="right">subject_id</th>
<th align="right">activity_id</th>
<th align="right">response</th>
<th align="right">sex</th>
<th align="right">age</th>
<th align="right">education</th>
<th align="right">job</th>
<th align="right">hand</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="right">1</td>
<td align="right">1</td>
<td align="right">value of <code>acs_instrumental_1</code></td>
<td align="right">1/2</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">1/2</td>
</tr>
<tr class="even">
<td align="right">1</td>
<td align="right">2</td>
<td align="right">value of <code>acs_instrumental_2</code></td>
<td align="right">1/2</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">1/2</td>
</tr>
<tr class="odd">
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
<td align="right">…</td>
</tr>
</tbody>
</table>
</div>
<div id="variable-coding-advice-demographics" class="section level3">
<h3>3. Variable coding advice (demographics)</h3>
<ul>
<li><p>The current coding (e.g., <code>sex</code> as 1/2,
<code>education</code> as 1–5, <code>job</code> as 1–7,
<code>hand</code> as 1/2) is generally fine <strong>as long
as</strong>:</p>
<ul>
<li>In SPSS, these are explicitly treated as
<strong>categorical</strong> variables (Nominal/Ordinal as appropriate,
and specified as “categorical predictors” in the model).</li>
</ul></li>
<li><p>For easier interpretation (optional but recommended), binary
variables can be recoded to 0/1:</p>
<ul>
<li><code>sex</code>: male = 0, female = 1</li>
<li><code>hand</code>: right = 0, left = 1 This is not strictly
required, but coefficients become more intuitive to interpret.</li>
</ul></li>
</ul>
<hr />
</div>
</div>
<div id="i.-clients-inquiry-2" class="section level2">
<h2>I. Client’s Inquiry 2</h2>
<p>The objective of this study is to examine the <strong>intra-rater
reliability</strong> of the ACS assessment. The dataset includes:</p>
<ul>
<li>Preference selections for activities<br />
(<code>acs_instrumental_1–33</code>, <code>acs_leisure_34–51</code>,
<code>acs_social_52–67</code>)</li>
<li>The activity number selected as <strong>Top 1 preference</strong> in
each domain</li>
</ul>
<p>for both the <strong>first and second assessments</strong>.</p>
<p>I would like to ask:</p>
<ol style="list-style-type: decimal">
<li><strong>Which statistical methods are appropriate</strong> for
assessing the reliability of
<ul>
<li>the selected preferred activities, and<br />
</li>
<li>the Top 1 preferred activity?</li>
</ul></li>
<li><strong>Whether the current variable coding scheme is
appropriate</strong> for conducting reliability analysis.</li>
</ol>
<p>For example:</p>
<ul>
<li><code>acs_instrumental_1</code> indicates whether Instrumental
Activity #1 was selected in the <strong>first assessment</strong>.</li>
<li><code>2acs_instrumental_1</code> indicates whether the same activity
was selected in the <strong>second assessment</strong>.</li>
</ul>
</div>
<div id="answer-of-inquiry-2" class="section level2">
<h2>Answer of Inquiry 2</h2>
<div id="intraclass-correlation-coefficient-icc-reliability-assessment" class="section level3">
<h3>0. Intraclass Correlation Coefficient (ICC) — Reliability
Assessment</h3>
<p>The Intraclass Correlation Coefficient (ICC) is a statistic that
quantifies the degree of <strong>agreement</strong> (or
<strong>consistency</strong>) between measurements of the same targets
made at different times or by different raters. ICC is typically used
for continuous measurements and evaluates how much of the total variance
is attributable to differences between subjects rather than measurement
error.</p>
<ul>
<li><p><strong>Model</strong></p>
<ul>
<li><strong>Two-way random</strong>: Both subjects and raters (or time
points) are treated as random effects (i.e., raters/timepoints are
considered a random sample from a larger population).</li>
<li><strong>Two-way mixed</strong>: Subjects are random but raters/time
points are fixed (e.g., specifically Time1 and Time2).</li>
</ul></li>
<li><p><strong>Type</strong></p>
<ul>
<li><strong>Consistency</strong>: Focuses on whether subjects keep the
same relative ranking across measurements (ignores systematic
differences in mean levels between raters/timepoints).</li>
<li><strong>Absolute agreement</strong>: Focuses on exact agreement of
measurement values (penalizes systematic differences in means).</li>
</ul></li>
</ul>
<p>A conceptual form of the ICC is:</p>
<p><span class="math display">\[
\mathrm{ICC} \;=\; \frac{\sigma^2_{\text{subject}}}
{\sigma^2_{\text{subject}} + \sigma^2_{\text{error}} + (\text{if
applicable } \sigma^2_{\text{rater}})}
\]</span></p>
<p>where <span class="math inline">\(\sigma^2_{\text{subject}}\)</span>
is the between-subject variance, <span class="math inline">\(\sigma^2_{\text{error}}\)</span> is the
residual/error variance, and <span class="math inline">\(\sigma^2_{\text{rater}}\)</span> is the variance
due to raters/timepoints when included.</p>
<p>Common, rule-of-thumb ranges (e.g., Landis &amp; Koch or similar)
are:</p>
<ul>
<li><span class="math inline">\(\mathrm{ICC} \ge 0.75\)</span>:
<strong>Excellent</strong><br />
</li>
<li><span class="math inline">\(0.60 \le \mathrm{ICC} &lt;
0.75\)</span>: <strong>Good</strong><br />
</li>
<li><span class="math inline">\(0.40 \le \mathrm{ICC} &lt;
0.60\)</span>: <strong>Fair</strong><br />
</li>
<li><span class="math inline">\(\mathrm{ICC} &lt; 0.40\)</span>:
<strong>Poor</strong></li>
</ul>
</div>
<div id="appropriateness-of-icc-for-the-current-data" class="section level3">
<h3>1. Appropriateness of ICC for the Current Data</h3>
<p>❌ <strong>Not appropriate.</strong> ❌</p>
<p>For nominal data such as <strong>binary preference selection
(0/1)</strong> and <strong>categorical activity numbers</strong>, the
<strong>Intraclass Correlation Coefficient (ICC)</strong> is not an
appropriate reliability measure.</p>
<div id="why-is-icc-inappropriate" class="section level4">
<h4>(1) Why Is ICC Inappropriate?</h4>
<ol style="list-style-type: decimal">
<li><p><strong>ICC is designed for continuous (numerical) data</strong>
ICC is used when the <em>magnitude and distance</em> between values are
meaningful. Examples:</p>
<ul>
<li>Blood pressure values</li>
<li>Test scores</li>
<li>Speed, distance</li>
<li>Mean scores of questionnaire items</li>
</ul>
<p>→ ICC is meaningful only when the <em>numerical value itself</em>
carries quantitative meaning.</p></li>
<li><p><strong>The current data are nominal (categorical)</strong>
Example:</p>
<ul>
<li><code>acs_instrumental_top1 = 5</code> → “Preparing meals”</li>
<li><code>acs_instrumental_top1 = 8</code> → “Doing laundry”</li>
</ul>
<p>The numerical difference between 5 and 8 has <strong>no quantitative
meaning</strong>.<br />
Treating these category labels as numerical values is a logical error.
ICC relies on variance and covariance between numerical values, so
applying ICC to activity codes produces <strong>meaningless
results</strong>.</p></li>
</ol>
</div>
<div id="what-should-be-used-instead" class="section level4">
<h4>(2) What Should Be Used Instead?</h4>
<table>
<thead>
<tr class="header">
<th>Data type</th>
<th>Appropriate reliability measure</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Nominal (0/1 selection, Top 1 activity code)</td>
<td>✅ Cohen’s Kappa</td>
</tr>
<tr class="even">
<td>Ordinal (e.g., ranked satisfaction levels)</td>
<td>🔸 Weighted Kappa</td>
</tr>
<tr class="odd">
<td>Continuous (scores, measurements)</td>
<td>✅ ICC</td>
</tr>
</tbody>
</table>
</div>
<div id="when-is-icc-appropriate" class="section level4">
<h4>(3) When Is ICC Appropriate?</h4>
<p>If an assessment produces <strong>continuous scores</strong> that are
repeatedly measured in the same way, ICC is appropriate.</p>
<p>Example : Treatment effect rated on a 0–100 scale</p>
<p>However, <strong>activity codes and binary selections are
categorical</strong>, so ICC should not be used here.</p>
</div>
</div>
<div id="cohens-kappa" class="section level3">
<h3>2. Cohen’s Kappa</h3>
<p>Cohen’s Kappa measures <strong>how consistently two assessments
agree</strong> beyond chance. In simple terms, it quantifies how well
the results of the <strong>first and second assessments
match</strong>.</p>
<p>Example:</p>
<ul>
<li>A participant selects “Visiting a hospital” in the first
assessment</li>
<li>The same activity is selected again in the second assessment<br />
→ This is counted as agreement.</li>
</ul>
<p>Kappa summarizes such agreements across all activities. Cohen’s Kappa
(<span class="math inline">\(\kappa\)</span>) is defined as <span class="math display">\[
\kappa = \frac{P_o - P_e}{1 - P_e},
\]</span> where:</p>
<ul>
<li><span class="math inline">\(P_o\)</span> is the <strong>observed
proportion of agreement</strong> between the first and second
assessments.</li>
<li><span class="math inline">\(P_e\)</span> is the <strong>expected
proportion of agreement by chance</strong>, calculated from the marginal
distributions of the two assessments.</li>
</ul>
<p>The <strong>observed agreement</strong> <span class="math inline">\(P_o\)</span> is given by <span class="math display">\[
P_o = \frac{\sum_{i=1}^{K} n_{ii}}{N},
\]</span> where:</p>
<ul>
<li><span class="math inline">\(K\)</span> is the number of
categories,</li>
<li><span class="math inline">\(n_{ii}\)</span> is the number of cases
classified into category <span class="math inline">\(i\)</span> in both
assessments,</li>
<li><span class="math inline">\(N\)</span> is the total number of
observations.</li>
</ul>
<p>The <strong>expected agreement</strong> <span class="math inline">\(P_e\)</span> is calculated as <span class="math display">\[
P_e = \sum_{i=1}^{K} \left( \frac{n_{i+}}{N} \cdot \frac{n_{+i}}{N}
\right),
\]</span> where:</p>
<ul>
<li><span class="math inline">\(n_{i+}\)</span> is the total number of
cases classified into category <span class="math inline">\(i\)</span> in
the first assessment,</li>
<li><span class="math inline">\(n_{+i}\)</span> is the total number of
cases classified into category <span class="math inline">\(i\)</span> in
the second assessment.</li>
</ul>
<p>How Is Kappa Different from Simple Agreement Rate?</p>
<ul>
<li><p><strong>Simple agreement rate</strong>:<br />
Number of matching responses ÷ total responses</p></li>
<li><p><strong>Problem</strong>:<br />
Some agreement may occur <strong>by chance</strong>.</p></li>
</ul>
<p>Example: Guessing heads or tails yields about 50% agreement by
chance.</p>
<p>Kappa adjusts for this by subtracting <strong>chance
agreement</strong>, providing a more accurate reliability estimate.</p>
<p><strong>Interpretation of Kappa Values</strong></p>
<table>
<thead>
<tr class="header">
<th>Kappa value</th>
<th>Interpretation</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1.00</td>
<td>Perfect agreement</td>
</tr>
<tr class="even">
<td>0.81–0.99</td>
<td>Almost perfect agreement</td>
</tr>
<tr class="odd">
<td>0.61–0.80</td>
<td>Substantial agreement</td>
</tr>
<tr class="even">
<td>0.41–0.60</td>
<td>Moderate agreement</td>
</tr>
<tr class="odd">
<td>0.21–0.40</td>
<td>Fair agreement</td>
</tr>
<tr class="even">
<td>0.00–0.20</td>
<td>Slight agreement</td>
</tr>
<tr class="odd">
<td>&lt; 0.00</td>
<td>Worse than chance</td>
</tr>
</tbody>
</table>
<p><strong>Example :</strong></p>
<p>Suppose four participants responded as follows:</p>
<table>
<thead>
<tr class="header">
<th>Participant</th>
<th>First</th>
<th>Second</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>A</td>
<td>Want</td>
<td>Want</td>
</tr>
<tr class="even">
<td>B</td>
<td>Do not want</td>
<td>Want</td>
</tr>
<tr class="odd">
<td>C</td>
<td>Want</td>
<td>Want</td>
</tr>
<tr class="even">
<td>D</td>
<td>Do not want</td>
<td>Do not want</td>
</tr>
</tbody>
</table>
<p>Simple agreement rate = 3 / 4 = 75%</p>
<p>Kappa evaluates this agreement <strong>after accounting for
chance</strong>.</p>
</div>
<div id="agreement-of-top-1-preferred-activities-by-domain" class="section level3">
<h3>3. Agreement of Top 1 Preferred Activities by Domain</h3>
<p>The goal is to examine whether the <strong>Top 1 preferred
activity</strong> selected in each domain is consistent between the
first and second assessments. For each domain, <strong>Cohen’s
Kappa</strong> can be calculated to assess intra-rater reliability
between the two time points.</p>
<p>Example Variables ”</p>
<p><strong>Instrumental Activities</strong></p>
<ul>
<li><code>acs_instrumental_top1</code> (first assessment)</li>
<li><code>2acs_instrumental_top1</code> (second assessment)</li>
</ul>
<p><strong>Leisure Activities</strong></p>
<ul>
<li><code>acs_leisure_top1</code></li>
<li><code>2acs_leisure_top1</code></li>
</ul>
<p><strong>Social Activities</strong></p>
<ul>
<li><code>acs_social_top1</code></li>
<li><code>2acs_social_top1</code></li>
</ul>
<p>Each pair represents the Top 1 selection from the first and second
assessments.<br />
A separate Kappa value is computed for each domain.</p>
<p>Although the Top 1 variables are coded numerically, they represent
<strong>categorical labels</strong>, not ordered or quantitative
values.</p>
<p>Examples:</p>
<ul>
<li>A value of 5 does <strong>not</strong> mean “greater” than 7</li>
<li>It simply refers to “Activity #5” versus “Activity #7”</li>
<li>Therefore, during analysis (e.g., in SPSS), these variables must be
treated as <strong>Nominal</strong>.</li>
</ul>
</div>
<div id="conclusion" class="section level3">
<h3>4. Conclusion</h3>
<p>Comparing the Top 1 preferred activities using <strong>Cohen’s
Kappa</strong> for each domain is an appropriate way to assess
<strong>intra-rater reliability</strong>. Three Kappa values will be
obtained (instrumental, leisure, social), and higher values (commonly ≥
0.6) indicate more stable and reliable assessments.</p>
</div>
</div>
</div>




</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

  </body>
  
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Data Science Institute" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Consultation 4</title><link href="https://jason1ko.github.io/data%20science%20institute/DSI-c4/" rel="alternate" type="text/html" title="Consultation 4" /><published>2025-03-01T23:45:50+00:00</published><updated>2025-03-01T23:45:50+00:00</updated><id>https://jason1ko.github.io/data%20science%20institute/DSI-c4</id><content type="html" xml:base="https://jason1ko.github.io/data%20science%20institute/DSI-c4/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<body>


<div class="container-fluid main-container">




<div id="header">




</div>


<div id="consultation-4-multilevel-sem-for-logic-model-evaluation-with-small-cluster-sizes" class="section level1">
<h1>Consultation 4: Multilevel SEM for Logic Model Evaluation with Small
Cluster Sizes</h1>
<div id="i.-clients-inquiry" class="section level2">
<h2>I. Client’s Inquiry</h2>
<div id="analysis-goal" class="section level3">
<h3>1. Analysis goal</h3>
<p>Based on a <strong>logic model</strong> framework, the study aims to
empirically test a <strong>sequential causal pathway</strong> that links
public library performance <strong>outcomes</strong>.</p>
</div>
<div id="planned-statistical-methodology" class="section level3">
<h3>2. Planned statistical methodology</h3>
<ul>
<li><p>Use <strong>Structural Equation Modeling (SEM)</strong> to test
the logic-model causal pathway, including both <strong>direct</strong>
and <strong>indirect (mediated)</strong> effects.</p></li>
<li><p>Conceptual chain: <strong>Inputs → Activities → Outputs →
Outcomes</strong></p></li>
<li><p>Outcomes are further structured as:</p>
<ul>
<li><p>Short-term outcomes</p></li>
<li><p>Intermediate outcomes</p></li>
<li><p>Long-term outcomes</p></li>
</ul></li>
</ul>
</div>
<div id="data-description" class="section level3">
<h3>3. Data description</h3>
<ul>
<li><p>Variables collected:</p>
<ul>
<li><p>Inputs</p></li>
<li><p>Activities</p></li>
<li><p>Outputs</p></li>
<li><p>Short-term outcomes</p></li>
<li><p>Intermediate outcomes</p></li>
<li><p>Long-term outcomes</p></li>
</ul></li>
<li><p>Note: A conceptual research model figure has been prepared
(attached by the researcher).</p></li>
</ul>
</div>
<div id="key-issue-mixed-unit-of-analysis" class="section level3">
<h3>4. Key issue (mixed unit of analysis)</h3>
<p>Some variables are measured at the <strong>library level</strong>,
while others are measured at the <strong>individual user
level</strong>.</p>
<ul>
<li><p><strong>Inputs, Activities, Outputs:</strong> quantitative data
at the <strong>library level</strong></p></li>
<li><p><strong>Short-/Intermediate-/Long-term outcomes:</strong>
<strong>user-level</strong> survey responses (Likert scale)</p></li>
</ul>
</div>
<div id="intended-analysis-level" class="section level3">
<h3>5. Intended analysis level</h3>
<ul>
<li><p>The researcher wants to perform the analysis at the
<strong>library level</strong>.</p></li>
<li><p>In the survey, each user selected the library they mainly use and
answered about that library, so survey responses can be grouped by
<strong>library</strong>.</p></li>
</ul>
</div>
<div id="main-question" class="section level3">
<h3>6. Main question</h3>
<ul>
<li><p>Many libraries have <strong>fewer than 30 respondents</strong>
(about <strong>46%</strong> of all libraries).</p></li>
<li><p>Is SEM still feasible when some groups (libraries) have <strong>n
&lt; 30</strong>? (Excluding all libraries with fewer than 30
respondents would remove too much data.)</p></li>
<li><p>Since small group sizes are believed to reduce reliability, the
researcher asks whether there are <strong>practical analytic
approaches</strong> that still allow SEM (or related modeling) without
dropping most of these libraries.</p></li>
</ul>
<hr />
</div>
</div>
<div id="ii.-background" class="section level2">
<h2>II. Background</h2>
<div id="what-is-structural-equation-modeling-sem" class="section level3">
<h3>0. What is Structural Equation Modeling (SEM)?</h3>
<p>Structural Equation Modeling (SEM) is a statistical framework that
allows researchers to test <strong>multiple causal (direct and indirect)
relationships among variables simultaneously</strong>. SEM is typically
composed of two main parts: a measurement model and a structural
model.</p>
<div id="measurement-model" class="section level4">
<h4>0.1 Measurement model</h4>
<p>The measurement model specifies how <strong>observed indicators
(measured variables)</strong> represent <strong>latent variables
(unobserved constructs)</strong>.</p>
<p><span class="math display">\[
\begin{aligned}
x &amp; = \Lambda_x \xi + \delta
\quad \text{(measurement model for exogenous latent variables)} \\
y &amp; = \Lambda_y \eta + \epsilon
\quad \text{(measurement model for endogenous latent variables)}
\end{aligned}
\]</span></p>
<ul>
<li><p><span class="math inline">\(x\)</span>: vector of observed
indicators for <strong>exogenous</strong> latent variables</p>
<ul>
<li><p>In this study, <span class="math inline">\(x\)</span> can
correspond to the <strong>library-level measured variables</strong> that
are treated as exogenous inputs to the causal chain.</p></li>
<li><p><strong>Inputs / Activities / Outputs</strong> (e.g., budget,
staffing, number of programs, number of loans, number of events, etc.,
depending on the dataset).</p></li>
</ul></li>
<li><p><span class="math inline">\(y\)</span>: vector of observed
indicators for <strong>endogenous</strong> latent variables</p>
<ul>
<li><p>In this study, <span class="math inline">\(y\)</span> can
correspond to <strong>user-survey items (Likert-scale
indicators)</strong> that measure outcome-related constructs.</p></li>
<li><p><strong>Short-term / Intermediate / Long-term outcomes</strong>
(e.g., satisfaction items, perceived usefulness, learning/skill
improvement items, intention to revisit, community engagement,
etc.).</p></li>
</ul></li>
<li><p><span class="math inline">\(\xi\)</span>: vector of
<strong>exogenous latent variables</strong> (latent predictors)</p>
<ul>
<li>Example interpretation: a latent construct such as <strong>“Library
Resources/Capacity”</strong> or <strong>“Service Provision
Intensity”</strong>, measured by library-level indicators in <span class="math inline">\(x\)</span>.</li>
</ul></li>
<li><p><span class="math inline">\(\eta\)</span>: vector of
<strong>endogenous latent variables</strong> (latent
outcomes/mediators)</p>
<ul>
<li>Example interpretation: latent constructs such as
<strong>“Short-term Outcome”</strong>, <strong>“Intermediate
Outcome”</strong>, and <strong>“Long-term Outcome”</strong>, each
measured by multiple survey items in <span class="math inline">\(y\)</span>.</li>
</ul></li>
<li><p><span class="math inline">\(\Lambda_x, \Lambda_y\)</span>: factor
loading matrices</p></li>
<li><p><span class="math inline">\(\delta, \epsilon\)</span>:
measurement error terms</p></li>
</ul>
</div>
<div id="structural-model" class="section level4">
<h4>0.2 Structural model</h4>
<p>The structural model defines the <strong>causal paths among latent
variables</strong>, capturing both direct and mediated effects.</p>
<p><span class="math display">\[
\eta = B \eta + \Gamma \xi + \zeta
\]</span></p>
<ul>
<li><p><span class="math inline">\(B\)</span>: matrix of path
coefficients among endogenous latent variables (<span class="math inline">\(\eta \rightarrow \eta\)</span>)</p></li>
<li><p><span class="math inline">\(\Gamma\)</span>: matrix of path
coefficients from exogenous to endogenous latent variables (<span class="math inline">\(\xi \rightarrow \eta\)</span>)</p></li>
<li><p><span class="math inline">\(\zeta\)</span>: structural
disturbance (residual) term</p></li>
</ul>
</div>
</div>
<div id="variable-definitions" class="section level3">
<h3>1. Variable definitions</h3>
<p>Following the logic-model framework, you aim to test a sequential
causal pathway (including <strong>direct</strong> and
<strong>indirect</strong> effects):</p>
<p><span class="math display">\[
\text{Inputs} \rightarrow \text{Activities} \rightarrow \text{Outputs}
\rightarrow \text{Short-term Outcomes} \rightarrow \text{Intermediate
Outcomes} \rightarrow \text{Long-term Outcomes}.
\]</span></p>
<p><strong>Exogenous latent variable</strong></p>
<p><span class="math display">\[
\xi_1 = \text{Inputs}.
\]</span></p>
<p><strong>Endogenous latent variables</strong></p>
<p><span class="math display">\[
\begin{aligned}
\eta_1 &amp; = \text{Activities}, \\
\eta_2 &amp; = \text{Outputs}, \\
\eta_3 &amp; = \text{Short-term Outcomes}, \\
\eta_4 &amp; = \text{Intermediate Outcomes}, \\
\eta_5 &amp; = \text{Long-term Outcomes}.
\end{aligned}
\]</span></p>
</div>
<div id="measurement-model-1" class="section level3">
<h3>2. Measurement model</h3>
<p>Let the observed indicators (survey items, administrative metrics,
etc.) that measure each latent construct be denoted by <span class="math inline">\(x\)</span> and <span class="math inline">\(y\)</span>. For example:</p>
<p><span class="math display">\[
\begin{aligned}
x_1 &amp; = \Lambda_{x_1}\,\xi_1 + \delta_1, \\
y_i &amp; = \Lambda_{y_i}\,\eta_i + \epsilon_i,\quad i=1,\ldots,5.
\end{aligned}
\]</span></p>
<ul>
<li><p><span class="math inline">\(\Lambda_{\cdot}\)</span>: factor
loading matrices</p></li>
<li><p><span class="math inline">\(\delta_1,\epsilon_i\)</span>:
measurement errors</p></li>
</ul>
<p>The measurement model links each latent construct to its observed
indicators. Under your research framework, you can substitute the actual
indicator names from the attached model into the notation below.</p>
<div id="measurement-model-for-the-exogenous-latent-variable-inputs-xi_1" class="section level4">
<h4>2.1 Measurement model for the exogenous latent variable: Inputs
(<span class="math inline">\(\xi_1\)</span>)</h4>
<p>Let the observed variables <span class="math inline">\(x_{1i}\)</span> <span class="math inline">\((i=1,\ldots,p)\)</span> be indicators that measure
Inputs. Then:</p>
<p><span class="math display">\[
x_{1i} = \lambda_{x_{1i}}\,\xi_1 + \delta_{1i},\quad i=1,\ldots,p.
\]</span></p>
<p>In vector/matrix form:</p>
<p><span class="math display">\[
x_1 =
\begin{pmatrix}
x_{11}\\
x_{12}\\
\vdots\\
x_{1p}
\end{pmatrix} =
\underbrace{
\begin{pmatrix}
\lambda_{x_{11}}\\
\lambda_{x_{12}}\\
\vdots\\
\lambda_{x_{1p}}
\end{pmatrix}}_{\Lambda_{x_1}}
\xi_1
+
\underbrace{
\begin{pmatrix}
\delta_{11}\\
\delta_{12}\\
\vdots\\
\delta_{1p}
\end{pmatrix}}_{\delta_1}.
\]</span></p>
</div>
<div id="measurement-models-for-endogenous-latent-variables-eta_j-j1ldots5" class="section level4">
<h4>2.2 Measurement models for endogenous latent variables (<span class="math inline">\(\eta_j,\ j=1,\ldots,5\)</span>)</h4>
<p>For each stage-specific latent variable <span class="math inline">\(\eta_j\)</span> <span class="math inline">\((j=1,\ldots,5)\)</span>, let the observed
indicators be <span class="math inline">\(y_{ji}\)</span> <span class="math inline">\((i=1,\ldots,q_j)\)</span>. Then:</p>
<p><span class="math display">\[
y_{ji} = \lambda_{y_{ji}}\,\eta_j + \epsilon_{ji},\quad
i=1,\ldots,q_j,\quad j=1,\ldots,5.
\]</span></p>
<p>Stage interpretation:</p>
<ul>
<li><p><span class="math inline">\(j=1\)</span>: Activities (<span class="math inline">\(\eta_1\)</span>), indicators <span class="math inline">\(y_{1i}\)</span> <span class="math inline">\((i=1,\ldots,q_1)\)</span></p></li>
<li><p><span class="math inline">\(j=2\)</span>: Outputs (<span class="math inline">\(\eta_2\)</span>), indicators <span class="math inline">\(y_{2i}\)</span> <span class="math inline">\((i=1,\ldots,q_2)\)</span></p></li>
<li><p><span class="math inline">\(j=3\)</span>: Short-term Outcomes
(<span class="math inline">\(\eta_3\)</span>), indicators <span class="math inline">\(y_{3i}\)</span> <span class="math inline">\((i=1,\ldots,q_3)\)</span></p></li>
<li><p><span class="math inline">\(j=4\)</span>: Intermediate Outcomes
(<span class="math inline">\(\eta_4\)</span>), indicators <span class="math inline">\(y_{4i}\)</span> <span class="math inline">\((i=1,\ldots,q_4)\)</span></p></li>
<li><p><span class="math inline">\(j=5\)</span>: Long-term Outcomes
(<span class="math inline">\(\eta_5\)</span>), indicators <span class="math inline">\(y_{5i}\)</span> <span class="math inline">\((i=1,\ldots,q_5)\)</span></p></li>
</ul>
<p>In vector/matrix form (for each <span class="math inline">\(j\)</span>):</p>
<p><span class="math display">\[
y_j =
\begin{pmatrix}
y_{j1}\\
y_{j2}\\
\vdots\\
y_{jq_j}
\end{pmatrix}=
\Lambda_{y_j}\,\eta_j + \epsilon_j,\quad j=1,\ldots,5.
\]</span></p>
</div>
<div id="summary-of-the-full-measurement-model-block-diagonal-form" class="section level4">
<h4>2.3 Summary of the full measurement model (block-diagonal form)</h4>
<p>Stacking all observed indicator vectors into one vector:</p>
<p><span class="math display">\[
\begin{pmatrix}
x_1\\
y_1\\
\vdots\\
y_5
\end{pmatrix}=
\underbrace{
\begin{pmatrix}
\Lambda_{x_1} &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
0 &amp; \Lambda_{y_1} &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
\vdots &amp; &amp; \ddots &amp; &amp; &amp; \vdots\\
0 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; \Lambda_{y_5}
\end{pmatrix}}_{\Lambda}
\begin{pmatrix}
\xi_1\\
\eta_1\\
\vdots\\
\eta_5
\end{pmatrix}
+
\begin{pmatrix}
\delta_1\\
\epsilon_1\\
\vdots\\
\epsilon_5
\end{pmatrix}.
\]</span></p>
<ul>
<li><p><span class="math inline">\(\Lambda\)</span>: a block-diagonal
loading matrix that places each factor loading matrix in the appropriate
block</p></li>
<li><p><span class="math inline">\(\delta_1, \epsilon_j\)</span>:
measurement error vectors</p></li>
</ul>
</div>
</div>
<div id="structural-model-1" class="section level3">
<h3>3. Structural model</h3>
<div id="comprehensive-structural-equations-sequential-all-earlier-to-later-direct-paths" class="section level4">
<h4>3.1 Comprehensive structural equations (sequential + all
earlier-to-later direct paths)</h4>
<p>Below is a more comprehensive specification that includes:</p>
<ul>
<li><p>the <strong>sequential path</strong> (e.g., <span class="math inline">\(\eta_1 \to \eta_2 \to \cdots \to \eta_5\)</span>),
and</p></li>
<li><p><strong>direct paths from every earlier stage to every later
stage</strong>, including <span class="math inline">\(\xi_1\)</span> to
all <span class="math inline">\(\eta_j\)</span>.</p></li>
</ul>
<p><span class="math display">\[
\begin{aligned}
\eta_1 &amp;= \gamma_{11}\xi_1 + \zeta_1,\\
\eta_2 &amp;= \beta_{21}\eta_1 + \gamma_{21}\xi_1 + \zeta_2,\\
\eta_3 &amp;= \beta_{32}\eta_2 + \beta_{31}\eta_1 + \gamma_{31}\xi_1 +
\zeta_3,\\
\eta_4 &amp;= \beta_{43}\eta_3 + \beta_{42}\eta_2 + \beta_{41}\eta_1 +
\gamma_{41}\xi_1 + \zeta_4,\\
\eta_5 &amp;= \beta_{54}\eta_4 + \beta_{53}\eta_3 + \beta_{52}\eta_2 +
\beta_{51}\eta_1 + \gamma_{51}\xi_1 + \zeta_5.
\end{aligned}
\]</span></p>
<p>Interpretation examples:</p>
<ul>
<li><p><span class="math inline">\(\gamma_{11}\)</span>: Inputs <span class="math inline">\(\rightarrow\)</span> Activities</p></li>
<li><p><span class="math inline">\(\beta_{21}\)</span>: Activities <span class="math inline">\(\rightarrow\)</span> Outputs</p></li>
<li><p><span class="math inline">\(\beta_{31}\)</span>: Activities <span class="math inline">\(\rightarrow\)</span> Short-term Outcomes (direct
shortcut)</p></li>
<li><p><span class="math inline">\(\beta_{42}\)</span>: Outputs <span class="math inline">\(\rightarrow\)</span> Intermediate Outcomes (direct
shortcut)</p></li>
<li><p><span class="math inline">\(\gamma_{51}\)</span>: Inputs <span class="math inline">\(\rightarrow\)</span> Long-term Outcomes (direct
shortcut)</p></li>
<li><p><span class="math inline">\(\zeta_i\)</span>: structural
disturbances (residuals)</p></li>
</ul>
</div>
<div id="matrix-form" class="section level4">
<h4>3.2 Matrix form</h4>
<p>Let</p>
<p><span class="math display">\[
\eta = (\eta_1,\eta_2,\eta_3,\eta_4,\eta_5)^\prime,\quad
\xi = (\xi_1)^\prime.
\]</span></p>
<p>Then the structural model can be written as:</p>
<p><span class="math display">\[
\eta = B\eta + \Gamma\xi + \zeta,
\]</span></p>
<p>where <span class="math inline">\(\zeta=(\zeta_1,\ldots,\zeta_5)^\prime\)</span>,
and (one possible representation)</p>
<p><span class="math display">\[
B=
\begin{pmatrix}
0 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
\beta_{21} &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
\beta_{31} &amp; \beta_{32} &amp; 0 &amp; 0 &amp; 0\\
\beta_{41} &amp; \beta_{42} &amp; \beta_{43} &amp; 0 &amp; 0\\
\beta_{51} &amp; \beta_{52} &amp; \beta_{53} &amp; \beta_{54} &amp; 0
\end{pmatrix},
\quad
\Gamma=
\begin{pmatrix}
\gamma_{11}\\
\gamma_{21}\\
\gamma_{31}\\
\gamma_{41}\\
\gamma_{51}
\end{pmatrix}.
\]</span></p>
</div>
<div id="examples-of-direct-indirect-and-total-effects" class="section level4">
<h4>3.3 Examples of direct, indirect, and total effects</h4>
<p><strong>Direct effect (example)</strong></p>
<ul>
<li>Inputs <span class="math inline">\(\rightarrow\)</span> Long-term
Outcomes (if included): <span class="math inline">\(\gamma_{51}\)</span></li>
</ul>
<p><strong>One specific indirect effect (pure sequential
chain)</strong></p>
<ul>
<li>Inputs <span class="math inline">\(\rightarrow\)</span> Activities
<span class="math inline">\(\rightarrow\)</span> Outputs <span class="math inline">\(\rightarrow\)</span> Short-term <span class="math inline">\(\rightarrow\)</span> Intermediate <span class="math inline">\(\rightarrow\)</span> Long-term:</li>
</ul>
<p><span class="math display">\[
\gamma_{11}\times \beta_{21}\times \beta_{32}\times \beta_{43}\times
\beta_{54}.
\]</span></p>
<p><strong>Total effect</strong></p>
<ul>
<li>The total effect equals the direct effect plus the sum of all
possible indirect paths implied by the model.</li>
</ul>
</div>
</div>
<div id="structural-model-using-only-the-sequential-logic-model-paths" class="section level3">
<h3>4. Structural model using only the sequential (logic-model)
paths</h3>
<div id="overview" class="section level4">
<h4>4.1 Overview</h4>
<p>Even though a comprehensive structural model can include direct paths
from every earlier stage to every later stage, it is also valid to
specify a <strong>parsimonious model</strong> that includes <strong>only
the sequential causal chain</strong> implied by the logic model:</p>
<p><span class="math display">\[
\xi_1 \rightarrow \eta_1 \rightarrow \eta_2 \rightarrow \eta_3
\rightarrow \eta_4 \rightarrow \eta_5.
\]</span></p>
<p>In equations (sequential paths only):</p>
<p><span class="math display">\[
\begin{aligned}
\eta_1 \;&amp;=\; \gamma_{11}\xi_1 + \zeta_1, \\
\eta_2 \;&amp;=\; \beta_{21}\eta_1 + \zeta_2, \\
\eta_3 \;&amp;=\; \beta_{32}\eta_2 + \zeta_3, \\
\eta_4 \;&amp;=\; \beta_{43}\eta_3 + \zeta_4, \\
\eta_5 \;&amp;=\; \beta_{54}\eta_4 + \zeta_5.
\end{aligned}
\]</span></p>
<p>In matrix form, letting</p>
<p><span class="math display">\[
\eta = (\eta_1,\eta_2,\eta_3,\eta_4,\eta_5)^\prime,\quad
\xi = (\xi_1)^\prime,
\]</span></p>
<p>the model can be written as:</p>
<p><span class="math display">\[
\eta = B\eta + \Gamma\xi + \zeta,
\]</span></p>
<p>with</p>
<p><span class="math display">\[
B=
\begin{pmatrix}
0 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
\beta_{21} &amp; 0 &amp; 0 &amp; 0 &amp; 0\\
0 &amp; \beta_{32} &amp; 0 &amp; 0 &amp; 0\\
0 &amp; 0 &amp; \beta_{43} &amp; 0 &amp; 0\\
0 &amp; 0 &amp; 0 &amp; \beta_{54} &amp; 0
\end{pmatrix},
\quad
\Gamma=
\begin{pmatrix}
\gamma_{11}\\
0\\
0\\
0\\
0
\end{pmatrix}.
\]</span></p>
</div>
<div id="why-start-with-a-parsimonious-model-theoretical-parsimony" class="section level4">
<h4>4.2 Why start with a parsimonious model? (Theoretical
parsimony)</h4>
<p>In SEM, adding every possible path “just in case” can make the model
unnecessarily complex. When the model becomes too complex relative to
the sample size, it may lead to:</p>
<ul>
<li><p>loss of degrees of freedom,</p></li>
<li><p>unstable estimation, and</p></li>
<li><p>potential identification problems.</p></li>
</ul>
<p>Therefore, a recommended strategy is to first fit a <strong>baseline
SEM</strong> that reflects the <strong>core theoretical
assumption</strong> of the logic model (the sequential stage-to-stage
causality), and then consider adding additional paths only when there is
strong theoretical and empirical justification.</p>
<p>With sequential paths only, it is easier to interpret mediation
because direct and indirect effects are less entangled.</p>
<p>For example, the sequential-only model allows you to test the
mediated pathway step by step, such as:</p>
<p><span class="math display">\[
\xi_1 \rightarrow \eta_3 \rightarrow \eta_4 \rightarrow \eta_5,
\]</span></p>
<p>and later examine whether adding an extra direct path (e.g., <span class="math inline">\(\xi_1 \rightarrow \eta_4\)</span>) is
theoretically meaningful and empirically supported.</p>
</div>
<div id="a-standard-stepwise-modeling-strategy" class="section level4">
<h4>4.3 A standard stepwise modeling strategy</h4>
<p>A common approach is:</p>
<ul>
<li><p><strong>Model 1 (baseline):</strong> test the sequential
logic-model paths only.</p></li>
<li><p><strong>Model 2 (expanded):</strong> add one theoretically
motivated additional path at a time, and evaluate improvement in fit and
statistical significance.</p></li>
</ul>
<p>This stepwise strategy helps prevent overfitting and supports a more
defensible final model by keeping only the “truly important” paths.</p>
<hr />
</div>
</div>
</div>
<div id="iii.-answer" class="section level2">
<h2>III. Answer</h2>
<div id="addressing-small-within-library-sample-sizes-n_k30-in-library-level-sem" class="section level3">
<h3>0. Addressing small within-library sample sizes (<span class="math inline">\(n_k&lt;30\)</span>) in library-level SEM</h3>
<p>If you aggregate user surveys into simple library-level means and
treat those means as observed indicators, libraries with small <span class="math inline">\(n_k\)</span> can have <strong>large measurement
error</strong> in those means. This can bias or destabilize the SEM
measurement model. However, the issue can be mitigated while keeping
those libraries in the analysis by using the following approach.</p>
</div>
<div id="multilevel-sem-using-individual-responses-no-aggregation" class="section level3">
<h3>1. Multilevel SEM using individual responses (no aggregation)</h3>
<p><strong>Idea:</strong> Do not aggregate survey responses. Instead,
model users at <strong>Level-1</strong> and libraries at
<strong>Level-2</strong>. This naturally yields <strong>partial
pooling</strong>, which stabilizes estimation even when some libraries
have small <span class="math inline">\(n_k\)</span>.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li><p>Even libraries with small <span class="math inline">\(n_k\)</span> benefit from information sharing
(partial pooling), improving stability.</p></li>
<li><p>Separates <strong>within-library</strong> (individual) variation
from <strong>between-library</strong> variation.</p></li>
<li><p>Possible tools: Mplus (Multilevel SEM), and multilevel /
complex-sample approaches in R (e.g., <code>lavaan.survey</code> with
<code>survey</code>), depending on design and feasibility.</p></li>
</ul>
</div>
<div id="multilevel-sem-formulation-for-this-consultation" class="section level3">
<h3>2. Multilevel SEM formulation for this consultation</h3>
<p>Index libraries by <span class="math inline">\(k=1,\ldots,K\)</span>,
individuals within library <span class="math inline">\(k\)</span> by
<span class="math inline">\(i=1,\ldots,n_k\)</span>, and (outcome)
survey items or indicators by <span class="math inline">\(j\)</span>.</p>
<div id="level-1-individual-level-outcomes-only-measurement" class="section level4">
<h4>2.1 Level-1 (individual level): outcomes-only measurement</h4>
<p>At the individual level, the dataset contains only outcome-related
survey responses. Inputs / Activities / Outputs are library-level
administrative variables, so they do not appear in Level-1.</p>
<p>A simple random-intercept-only specification is:</p>
<p><span class="math display">\[
\begin{aligned}
y_{kij} \;&amp;=\; \pi_{0kj} + \epsilon_{kij}, \\
\epsilon_{kij} \;&amp;\sim\; N(0,\sigma_{\epsilon j}^2).
\end{aligned}
\]</span></p>
<ul>
<li><p><span class="math inline">\(y_{kij}\)</span>: response of
individual <span class="math inline">\(i\)</span> in library <span class="math inline">\(k\)</span> to outcome indicator/item <span class="math inline">\(j\)</span></p></li>
<li><p><span class="math inline">\(\pi_{0kj}\)</span>: library-specific
mean (random intercept) for item <span class="math inline">\(j\)</span></p></li>
<li><p><span class="math inline">\(\epsilon_{kij}\)</span>:
within-library individual-level deviation (treated as Level-1
error)</p></li>
</ul>
<p>In this setup, <strong>small <span class="math inline">\(n_k\)</span>
is not automatically fatal</strong> because the multilevel model yields
partial pooling at Level-2.</p>
</div>
<div id="level-2-library-level-measurement-model-including-exogenous-inputs" class="section level4">
<h4>2.2 Level-2 (library level): measurement model including exogenous
Inputs</h4>
<p>At Level-2, both exogenous latent variables (<span class="math inline">\(\xi\)</span>) and endogenous latent variables
(<span class="math inline">\(\eta\)</span>) are modeled.</p>
<div id="a-exogenous-latent-variable-inputs-measurement-model" class="section level5">
<h5>(A) Exogenous latent variable (Inputs) measurement model</h5>
<p>Let <span class="math inline">\(x_{k\ell}\)</span> denote
library-level administrative indicators (e.g., budget, staff size,
collection size). Then:</p>
<p><span class="math display">\[
x_{k\ell} = \lambda_{x\ell}\,\xi_k + \delta_{k\ell},\quad
\delta_{k\ell}\sim N(0,\theta_{x\ell}).
\]</span></p>
<ul>
<li><p><span class="math inline">\(\xi_k\)</span>: latent Inputs for
library <span class="math inline">\(k\)</span></p></li>
<li><p><span class="math inline">\(x_{k\ell}\)</span>: administrative
indicator <span class="math inline">\(\ell\)</span> for library <span class="math inline">\(k\)</span></p></li>
<li><p><span class="math inline">\(\delta_{k\ell}\)</span>: measurement
error at the library level</p></li>
</ul>
<p>This component is essential because Inputs are library-level and
should enter the SEM as a Level-2 latent construct.</p>
</div>
<div id="b-endogenous-latent-variables-activities-through-outcomes-measurement-model" class="section level5">
<h5>(B) Endogenous latent variables (Activities through Outcomes)
measurement model</h5>
<p>Use the Level-1 random intercepts <span class="math inline">\(\pi_{0kj}\)</span> (library-level item means) as
the measurement layer for library-level latent constructs:</p>
<p><span class="math display">\[
\pi_{0kj} = \tau_j + \lambda_{yj}\,\eta_{kj} + \epsilon_{kj},\quad
\epsilon_{kj}\sim N(0,\theta_{yj}).
\]</span></p>
<ul>
<li><p><span class="math inline">\(\eta_{kj}\)</span>: library-level
latent variable for stage <span class="math inline">\(j\)</span>
(Activities, Outputs, Short-term, Intermediate, Long-term)</p></li>
<li><p><span class="math inline">\(\epsilon_{kj}\)</span>: library-level
measurement error, distinct from Level-1 individual error <span class="math inline">\(\epsilon_{kij}\)</span></p></li>
</ul>
</div>
</div>
<div id="level-2-structural-model-logic-model-causal-paths" class="section level4">
<h4>2.3 Level-2 structural model (logic-model causal paths)</h4>
<p>The logic-model causal chain is modeled at Level-2. A comprehensive
version can allow sequential effects plus selected direct paths:</p>
<p><span class="math display">\[
\begin{aligned}
\eta_{k1} \;&amp;=\; \gamma_{11}\,\xi_k + \zeta_{k1}, \\
\eta_{k2} \;&amp;=\; \beta_{21}\,\eta_{k1} + \gamma_{21}\,\xi_k +
\zeta_{k2}, \\
\eta_{k3} \;&amp;=\; \beta_{32}\,\eta_{k2} + \beta_{31}\,\eta_{k1} +
\gamma_{31}\,\xi_k + \zeta_{k3}, \\
\eta_{k4} \;&amp;=\; \beta_{43}\,\eta_{k3} + \beta_{42}\,\eta_{k2} +
\gamma_{41}\,\xi_k + \zeta_{k4}, \\
\eta_{k5} \;&amp;=\; \beta_{54}\,\eta_{k4} + \beta_{53}\,\eta_{k3} +
\gamma_{51}\,\xi_k + \zeta_{k5}.
\end{aligned}
\]</span></p>
<ul>
<li><p><span class="math inline">\(\xi_k\)</span>: Inputs (exogenous
latent variable)</p></li>
<li><p><span class="math inline">\(\eta_{k1},\ldots,\eta_{k5}\)</span>:
Activities <span class="math inline">\(\rightarrow\)</span> Outputs
<span class="math inline">\(\rightarrow\)</span> Outcomes (endogenous
latent variables)</p></li>
<li><p><span class="math inline">\(\zeta_{kj}\)</span>: library-level
structural disturbances (residuals)</p></li>
</ul>
</div>
</div>
<div id="why-this-is-a-multilevel-sem-and-why-it-helps-when-n_k30" class="section level3">
<h3>3. Why this is a multilevel SEM (and why it helps when <span class="math inline">\(n_k&lt;30\)</span>)</h3>
<ul>
<li><p><strong>Level-1:</strong> absorbs individual survey noise and
separates within-library variability</p></li>
<li><p><strong>Level-2:</strong> estimates library-level latent
constructs and the causal logic-model pathway</p></li>
<li><p><strong>Inputs measurement:</strong> models library
administrative indicators as an exogenous latent factor</p></li>
<li><p><strong>Outcomes measurement:</strong> accounts for measurement
error in library-level outcome constructs without naïvely treating
small-<span class="math inline">\(n_k\)</span> means as
error-free</p></li>
</ul>
</div>
<div id="conclusion-for-consultation-response" class="section level3">
<h3>4. Conclusion (for consultation response)</h3>
<p>A multilevel SEM can be applied by modeling individual survey
responses at Level-1 and libraries at Level-2. This approach allows
stable estimation of library-level latent constructs even when some
libraries have fewer than 30 respondents, because the model separates
individual-level variability and uses partial pooling at the library
level. Moreover, library-level Inputs can be incorporated as an
exogenous latent variable via administrative indicators, enabling a
theoretically consistent test of the logic-model causal pathway without
dropping a large portion of libraries.</p>
</div>
</div>
</div>




</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

     </body>
  
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Data Science Institute" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Consultation 5</title><link href="https://jason1ko.github.io/data%20science%20institute/DSI-c5/" rel="alternate" type="text/html" title="Consultation 5" /><published>2025-03-01T23:40:00+00:00</published><updated>2025-03-01T23:40:00+00:00</updated><id>https://jason1ko.github.io/data%20science%20institute/DSI-c5</id><content type="html" xml:base="https://jason1ko.github.io/data%20science%20institute/DSI-c5/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<body>


<div class="container-fluid main-container">




<div id="header">




</div>


<div id="consultation-5-complex-survey-methods-for-age-group-comparisons-in-knhanes" class="section level1">
<h1>Consultation 5: Complex Survey Methods for Age-Group Comparisons in
KNHANES</h1>
<div id="i.-clients-inquiry" class="section level2">
<h2>I. Client’s Inquiry</h2>
<div id="study-objective" class="section level3">
<h3>Study Objective</h3>
<ul>
<li><strong>Thesis title:</strong> <em>Nutritional Recommendations for
Muscle Health in the Ageing Population of South Korea: Exploring Dietary
Intake and Patterns, Activity Levels, and Socio-cultural Influences on
Sarcopenia Risk.</em></li>
<li><strong>Hypothesis:</strong> Intake of specific nutrients/foods in
older adults positively affects <strong>arm muscle mass (Lean Body
Mass)</strong> and <strong>handgrip strength (HGS)</strong>, which may
in turn improve <strong>quality of life (QoL)</strong>, particularly in
relation to <strong>physical activity</strong>.</li>
</ul>
</div>
<div id="current-issue" class="section level3">
<h3>Current Issue</h3>
<ul>
<li>I used:
<ul>
<li><strong>Complex samples chi-square tests</strong>, and</li>
<li><strong>Post hoc logistic regression with Bonferroni
adjustment</strong> to compare <strong>categorical variables across age
groups</strong>.</li>
</ul></li>
<li>I am unsure whether this approach is appropriate and would like
professional guidance on whether the methods are correct (and, if not,
what alternatives are recommended).</li>
</ul>
</div>
<div id="data-description" class="section level3">
<h3>Data Description</h3>
<ul>
<li><strong>Data source:</strong> Korea National Health and Nutrition
Examination Survey (<strong>KNHANES</strong>),
<strong>2015–2023</strong>.</li>
<li><strong>Exclusion:</strong> <strong>2021–2022</strong> were excluded
due to missing <strong>HGS</strong> measurements.</li>
<li><strong>Variables included:</strong> socioeconomic status
(<strong>SES</strong>), anthropometric/body composition (InBody) data,
nutrient intake, <strong>QoL</strong>, and <strong>HGS</strong>.</li>
<li><strong>Sample size:</strong> <strong>30,354</strong> participants
<ul>
<li>Men: <strong>13,149</strong><br />
</li>
<li>Women: <strong>17,205</strong></li>
</ul></li>
<li><strong>Age groups (5 categories):</strong>
<ul>
<li>Young Adults: <strong>19–29</strong> (n =
<strong>3,398</strong>)</li>
<li>Middle-aged Adults: <strong>30–49</strong> (n =
<strong>9,422</strong>)</li>
<li>Older Adults: <strong>50–64</strong> (n =
<strong>8,174</strong>)</li>
<li>Elderly: <strong>65–74</strong> (n = <strong>6,132</strong>)</li>
<li>Older Elderly: <strong>≥ 75</strong> (n =
<strong>3,228</strong>)</li>
</ul></li>
<li><strong>Key derived/classified measures:</strong>
<ul>
<li>Physical activity levels and HGS classified using:
<ul>
<li><strong>quintiles</strong>, and</li>
<li><strong>Asian Working Group for Sarcopenia (AWGS)</strong> criteria
(low vs high strength)</li>
</ul></li>
<li>Estimated energy requirements calculated</li>
<li>Macronutrient intake computed as:
<ul>
<li><strong>absolute intake</strong>, and</li>
<li><strong>percentage contribution to total caloric
intake</strong></li>
</ul></li>
</ul></li>
</ul>
<hr />
</div>
</div>
<div id="ii.-background" class="section level2">
<h2>II. Background</h2>
</div>
<div id="categorical-variables" class="section level2">
<h2>1. Categorical variables</h2>
<p>When the client says:</p>
<blockquote>
<p>“to get the difference between age groups for different categorical
variables,”</p>
</blockquote>
<p>the items in the <strong>Data Description</strong> that most directly
connect to “categorical variables” (especially for comparing
<strong>distributions across the 5 age groups</strong>) are the
following statements:</p>
<ul>
<li>“<strong>age was categorized into five groups</strong> …”</li>
<li>“<strong>Physical activity levels and HGS were classified</strong>
using both quintiles and the AWGS criteria …”</li>
<li>“The dataset includes information on <strong>socioeconomic status
(SES)</strong> … <strong>quality of life (QoL)</strong> …”</li>
</ul>
<p>From these, the most natural interpretation is that “different
categorical variables” refers primarily to the variables that were
explicitly <strong>classified</strong> into categories, and secondarily
to other variables that are commonly categorical in KNHANES.</p>
<div id="physical-activity-pa-level-explicitly-classified" class="section level3">
<h3>1) Physical activity (PA) level — explicitly “classified”</h3>
<p>Likely categorical forms include:</p>
<ul>
<li><strong>Quintiles (5 categories)</strong> of physical activity
level, and/or<br />
</li>
<li>A <strong>binary grouping</strong> (e.g., low vs high) if the
quintiles were collapsed</li>
</ul>
<p>This is a very typical setup for using a chi-square test to check
whether the <strong>distribution of PA categories differs by age
group</strong>.</p>
</div>
<div id="handgrip-strength-hgs-explicitly-categorized" class="section level3">
<h3>2) Handgrip strength (HGS) — explicitly categorized</h3>
<p>Likely categorical forms include:</p>
<ul>
<li><strong>AWGS criteria:</strong> low vs high strength
(<strong>binary</strong>), and/or<br />
</li>
<li><strong>Quintiles (5 categories)</strong> if HGS was also divided
into quintiles</li>
</ul>
<p>Again, comparing <strong>low/high proportions</strong> (or quintile
distributions) across age groups via chi-square is common.</p>
</div>
<div id="socioeconomic-status-ses-variables-a-categorical-bundle" class="section level3">
<h3>3) Socioeconomic status (SES) variables — a categorical
“bundle”</h3>
<p>The client only wrote “SES,” so specific variable names are not
given. However, in <strong>KNHANES</strong>, SES-related variables are
often categorical, such as:</p>
<ul>
<li>income quantile group</li>
<li>education level</li>
<li>occupation class</li>
<li>marital status</li>
</ul>
<p>It is very common to test whether these <strong>SES category
distributions differ across age groups</strong>.</p>
</div>
<div id="quality-of-life-qol-likely-categorical-depending-on-how-it-was-used" class="section level3">
<h3>4) Quality of life (QoL) — likely categorical depending on how it
was used</h3>
<p>QoL can be continuous (e.g., an index score), but survey-based QoL
measures (e.g., EQ-5D-type items) often include categorical responses
(e.g., no problems / some problems / severe problems). Since the client
explicitly referred to “categorical variables,” it is plausible that QoL
was used in a <strong>categorical form</strong> (individual items or
categorized scores).</p>
</div>
<div id="summary" class="section level3">
<h3>Summary</h3>
<p>In the client’s wording, “different categorical variables” most
plausibly refers to:</p>
<ol style="list-style-type: decimal">
<li><strong>Physical activity classification variables</strong>
(quintiles or low/high), and<br />
</li>
<li><strong>HGS classification variables</strong> (AWGS low/high or
quintiles),</li>
</ol>
<p>as the primary targets, and additionally:</p>
<ol start="3" style="list-style-type: decimal">
<li><strong>SES variables</strong> (commonly categorical in KNHANES),
and<br />
</li>
<li><strong>QoL variables</strong> if represented as categorical items
or categorized scores.</li>
</ol>
</div>
</div>
<div id="awgs-criteria-asian-working-group-for-sarcopenia" class="section level2">
<h2>2. AWGS criteria (Asian Working Group for Sarcopenia)</h2>
<p><strong>AWGS (Asian Working Group for Sarcopenia)</strong> is a
consensus guideline used to <strong>classify/diagnose
sarcopenia</strong> in Asian populations (especially older
adults).<br />
Its core idea is to take <strong>continuous measurements</strong> (e.g.,
handgrip strength, gait speed, muscle mass) and apply <strong>clinical
cut-offs</strong> to create <strong>categories</strong> such as
<em>low</em> vs <em>normal</em>.</p>
<div id="typical-awgs-2019-cut-offs-examples" class="section level4">
<h4>Typical AWGS 2019 cut-offs (examples)</h4>
<ul>
<li><strong>Low muscle strength (Handgrip strength, HGS)</strong>
<ul>
<li>Men: <strong>&lt; 28 kg</strong></li>
<li>Women: <strong>&lt; 18 kg</strong></li>
</ul></li>
<li><strong>Low physical performance</strong>
<ul>
<li>6m gait speed <strong>&lt; 1.0 m/s</strong>, or</li>
<li>SPPB <strong>≤ 9</strong>, or</li>
<li>5-times chair stand <strong>≥ 12 s</strong></li>
</ul></li>
<li><strong>Low muscle mass</strong> also has DXA/BIA-based cut-offs
(used for full diagnosis).</li>
</ul>
<p>The sentence:</p>
<blockquote>
<p>“Physical activity levels and HGS were classified using both
quintiles and the AWGS criteria …”</p>
</blockquote>
<p>is most naturally read as:</p>
<blockquote>
<p>The same variables were <strong>categorized in two different
ways</strong>.</p>
</blockquote>
</div>
<div id="quintiles-q1q5-distribution-based-categorization" class="section level3">
<h3>(1) Quintiles (Q1–Q5): distribution-based categorization</h3>
<ul>
<li>Split the sample into <strong>five equal-sized groups (20%
each)</strong> based on the variable’s distribution.</li>
<li>Example: HGS quintiles, or physical activity (e.g., MET-min/week)
quintiles.</li>
</ul>
<p><strong>Pros:</strong> easy “relative low vs high” comparisons within
the sample<br />
<strong>Cons:</strong> weaker direct clinical meaning (“at risk”
threshold)</p>
</div>
<div id="awgs-criteria-guideline-cut-off-categorization" class="section level3">
<h3>(2) AWGS criteria: guideline cut-off categorization</h3>
<ul>
<li>Use <strong>clinical cut-offs</strong> to create categories like
<strong>low vs normal</strong>.</li>
<li>Example: HGS low/high using AWGS thresholds (men &lt; 28 kg, women
&lt; 18 kg).</li>
</ul>
<p><strong>Pros:</strong> clinically interpretable (“below risk
threshold or not”)<br />
<strong>Cons:</strong> only possible if the needed measures exist (or if
proxies are used)</p>
</div>
</div>
<div id="complex-samples-chi-square-test" class="section level2">
<h2>3. Complex Samples Chi-square Test</h2>
<p>A <strong>complex samples chi-square test</strong> is a
<strong>design-based</strong> test of association (independence) between
two categorical variables when the data come from a <strong>complex
survey design</strong> (e.g., <strong>stratification, clustering/PSUs,
and sampling weights</strong>), not from simple random sampling
(SRS).</p>
<div id="core-ideas-why-it-differs-from-the-usual-pearson-chi-square" class="section level3">
<h3>Core ideas (why it differs from the usual Pearson chi-square)</h3>
<ul>
<li><p>In complex surveys, observations are not i.i.d. due to
<strong>weights</strong> and <strong>within-cluster
correlation</strong>.<br />
→ Using the usual Pearson chi-square test can produce <strong>incorrect
p-values</strong>.</p></li>
<li><p>The solution is:</p>
<ul>
<li><p>build a <strong>weighted contingency table</strong>, but</p></li>
<li><p>compute inference <strong>accounting for the survey
design</strong>, typically via a <strong>Rao–Scott adjusted
chi-square</strong> (often with an <strong>F
transformation</strong>).</p></li>
</ul></li>
</ul>
</div>
<div id="starting-point-weighted-contingency-table-and-pearson-chi-square" class="section level3">
<h3>1) Starting point: weighted contingency table and Pearson
chi-square</h3>
<p>Let:</p>
<ul>
<li><p><span class="math inline">\(A \in \{1,\dots,R\}\)</span>, <span class="math inline">\(B \in \{1,\dots,C\}\)</span> be categorical
variables,</p></li>
<li><p><span class="math inline">\(w_i\)</span> be the survey weight for
individual <span class="math inline">\(i\)</span>.</p></li>
</ul>
</div>
<div id="weighted-cell-counts" class="section level3">
<h3>Weighted cell counts</h3>
<p><span class="math display">\[
\widehat{N}_{rc}
=\sum_{i=1}^{n} w_i \, \mathbf{1}(A_i=r, B_i=c).
\]</span></p>
<p>Marginal totals: <span class="math display">\[
\widehat{N}_{r+}=\sum_{c=1}^{C}\widehat{N}_{rc},\quad
\widehat{N}_{+c}=\sum_{r=1}^{R}\widehat{N}_{rc},\quad
\widehat{N}_{++}=\sum_{r=1}^{R}\sum_{c=1}^{C}\widehat{N}_{rc}.
\]</span></p>
<p>Under the independence null hypothesis <span class="math inline">\(H_0: A \perp B\)</span>, the expected weighted
counts are:</p>
<p><span class="math display">\[
\widehat{E}_{rc}
=\frac{\widehat{N}_{r+}\widehat{N}_{+c}}{\widehat{N}_{++}}.
\]</span></p>
<p>The (weighted) Pearson chi-square statistic is:</p>
<p><span class="math display">\[
X_P^2
=\sum_{r=1}^{R}\sum_{c=1}^{C}
\frac{\left(\widehat{N}_{rc}-\widehat{E}_{rc}\right)^2}{\widehat{E}_{rc}}.
\]</span></p>
</div>
<div id="why-x_p2-is-not-enough-in-complex-surveys" class="section level3">
<h3>Why <span class="math inline">\(X_P^2\)</span> is not enough in
complex surveys</h3>
<p>In complex samples, <span class="math inline">\(X_P^2\)</span>
<strong>does not</strong> follow a standard chi-square distribution well
because:</p>
<ul>
<li><p>clustering induces correlation (reducing the <strong>effective
sample size</strong>),</p></li>
<li><p>unequal weights increase variance.</p></li>
</ul>
</div>
<div id="key-adjustment-raoscott-correction-design-effect" class="section level3">
<h3>2) Key adjustment: Rao–Scott correction (design effect)</h3>
<p>To get valid inference, we estimate the covariance of estimated
proportions (or cell proportions) <strong>reflecting
stratification/clustering/weights</strong>, e.g. using:</p>
<ul>
<li><p><strong>Taylor linearization</strong>, or</p></li>
<li><p><strong>replicate weights</strong> (jackknife, BRR,
bootstrap).</p></li>
</ul>
<p>Rao–Scott adjustment modifies the Pearson statistic to reflect the
<strong>design effect</strong> (variance inflation due to the survey
design). A common first-order intuition is:</p>
<p><span class="math display">\[
X_{RS}^2
=\frac{X_P^2}{\widehat{c}},
\]</span> where <span class="math inline">\(\widehat{c}\)</span> acts
like an “average design effect / inflation factor,” shrinking <span class="math inline">\(X_P^2\)</span> because the true variance is larger
under complex sampling.</p>
<p>Many software packages (e.g., <strong>SPSS Complex Samples</strong>,
<strong>R <code>survey</code></strong>) often convert the adjusted
statistic into an <strong>F statistic</strong> for p-values:</p>
<ul>
<li><p>Numerator df: <span class="math inline">\((R-1)(C-1)\)</span></p></li>
<li><p>Denominator df: approximately “#PSUs − #strata” (design-based
degrees of freedom; exact details depend on implementation)</p></li>
</ul>
</div>
<div id="one-line-summary" class="section level3">
<h3>3) One-line summary</h3>
<p>A <strong>complex samples chi-square test</strong> is an independence
test on a <strong>weighted contingency table</strong>, where the
<strong>p-value</strong> is computed using a
<strong>design-based</strong> adjustment (typically <strong>Rao–Scott
adjusted chi-square</strong> or its <strong>F-equivalent</strong>) to
account for <strong>stratification, clustering, and
weights</strong>.</p>
</div>
</div>
<div id="bonferroni-test-in-logistic-regression" class="section level2">
<h2>4. Bonferroni test in logistic regression</h2>
<p>In this context, “<strong>post hoc logistic regression Bonferroni
test</strong>” does <strong>not</strong> mean that logistic regression
has a special standalone test called “the Bonferroni test.”<br />
It means:</p>
<ul>
<li>the researcher ran <strong>multiple post hoc comparisons</strong>
using <strong>logistic regression</strong>, and</li>
<li>they <strong>adjusted</strong> the resulting p-values (or
significance level / confidence intervals) using the <strong>Bonferroni
correction</strong> to control inflation of Type I error due to multiple
testing.</li>
</ul>
<div id="why-it-is-needed-the-multiple-comparisons-problem" class="section level3">
<h3>1) Why it is needed: the multiple-comparisons problem</h3>
<p>Suppose there are <strong>5 age groups</strong>. If we want to find
<em>which</em> groups differ, we typically run several comparisons:</p>
<ul>
<li><strong>Reference-group comparisons:</strong> choose one reference
group and compare it to the other 4
<ul>
<li>number of tests: <span class="math inline">\(m=4\)</span></li>
</ul></li>
<li><strong>All pairwise comparisons:</strong> compare every pair of
groups
<ul>
<li>number of tests: <span class="math inline">\(m=\binom{5}{2}=10\)</span></li>
</ul></li>
</ul>
<p>If we test each comparison at level <span class="math inline">\(\alpha\)</span> without adjustment, the
probability of getting at least one false positive (family-wise error
rate, FWER) increases as <span class="math inline">\(m\)</span>
grows.</p>
</div>
<div id="bonferroni-correction-the-key-idea" class="section level3">
<h3>2) Bonferroni correction: the key idea</h3>
<p>Bonferroni controls FWER at <span class="math inline">\(\alpha\)</span> by making each individual test
more stringent.</p>
</div>
<div id="a-adjust-the-significance-level" class="section level3">
<h3>(a) Adjust the significance level</h3>
<p>Use: <span class="math display">\[
\alpha^* = \frac{\alpha}{m}.
\]</span></p>
</div>
<div id="b-equivalent-p-value-adjustment" class="section level3">
<h3>(b) Equivalent p-value adjustment</h3>
<p>If the original p-value for comparison <span class="math inline">\(j\)</span> is <span class="math inline">\(p_j\)</span>, the Bonferroni-adjusted p-value is:
<span class="math display">\[
p_j^{(\mathrm{Bonf})} = \min\{m\,p_j,\,1\}.
\]</span></p>
<p>Declare significance if: <span class="math display">\[
p_j^{(\mathrm{Bonf})} \le \alpha.
\]</span></p>
</div>
<div id="what-is-being-tested-multiple-times-in-logistic-regression" class="section level3">
<h3>3) What is being tested multiple times in logistic regression?</h3>
<p>In logistic regression, post hoc comparisons are typically tests
of:</p>
<ul>
<li>regression coefficients, or</li>
<li><strong>linear contrasts</strong> (differences between
coefficients), which correspond to group comparisons.</li>
</ul>
<p>Example: let <span class="math inline">\(Y_i\)</span> indicate
whether a person has low HGS<br />
(e.g., <span class="math inline">\(Y_i=1\)</span> for “low”, <span class="math inline">\(Y_i=0\)</span> for “normal”).<br />
With age group <span class="math inline">\(G_i \in
\{1,\dots,5\}\)</span> and group 1 as reference:</p>
<p><span class="math display">\[
\mathrm{logit}\{\Pr(Y_i=1)\}
=\beta_0 + \beta_2\,\mathbf{1}(G_i=2)+\cdots+\beta_5\,\mathbf{1}(G_i=5).
\]</span></p>
<p>Then each <span class="math inline">\(\beta_k\)</span> represents the
log-odds difference between group <span class="math inline">\(k\)</span>
and the reference group 1, and the odds ratio is: <span class="math display">\[
\mathrm{OR}_{k:1} = \exp(\beta_k).
\]</span></p>
<p>Typical <strong>post hoc logistic + Bonferroni</strong> workflows
are:</p>
<ul>
<li><strong>Reference vs others:</strong> test <span class="math inline">\(H_{0k}:\beta_k=0\)</span> for <span class="math inline">\(k=2,\dots,5\)</span>
<ul>
<li><span class="math inline">\(m=4\)</span> tests</li>
</ul></li>
<li><strong>All pairwise comparisons:</strong> test contrasts such as
<span class="math display">\[
H_{0(a,b)}:\beta_a - \beta_b = 0
\]</span> for all pairs <span class="math inline">\((a,b)\)</span>
<ul>
<li><span class="math inline">\(m=10\)</span> tests</li>
</ul></li>
</ul>
<p>Bonferroni adjustment is then applied to these multiple p-values (or
contrasts).</p>
</div>
<div id="bonferroni-adjusted-confidence-intervals-optional-but-common" class="section level3">
<h3>4) Bonferroni-adjusted confidence intervals (optional but
common)</h3>
<p>Bonferroni can also adjust confidence intervals.</p>
<p>Instead of using <span class="math inline">\(z_{1-\alpha/2}\)</span>
for each interval, to achieve simultaneous coverage across <span class="math inline">\(m\)</span> comparisons we use: <span class="math display">\[
\widehat{\beta}_j \pm z_{1-\alpha/(2m)}\,\mathrm{SE}(\widehat{\beta}_j).
\]</span></p>
<p>For odds ratios, exponentiate the endpoints: <span class="math display">\[
\exp\Bigl(\widehat{\beta}_j \pm
z_{1-\alpha/(2m)}\,\mathrm{SE}(\widehat{\beta}_j)\Bigr).
\]</span></p>
</div>
<div id="one-sentence-summary" class="section level3">
<h3>One-sentence summary</h3>
<p>“<strong>post hoc logistic regression Bonferroni test</strong>” means
the researcher performed <strong>multiple age-group comparisons</strong>
using logistic regression (via coefficients or contrasts) and controlled
the inflated false-positive risk by applying the <strong>Bonferroni
correction</strong> (either <span class="math inline">\(\alpha/m\)</span> or <span class="math inline">\(m
p_j\)</span> adjustments).</p>
<hr />
</div>
</div>
<div id="iii.-answer" class="section level2">
<h2>III. Answer</h2>
<div id="bottom-line-first-their-procedure-can-be-valid-conditionally" class="section level3">
<h3>1) Bottom line first: their procedure can be valid,
<strong>conditionally</strong></h3>
<p>What the client did:</p>
<ol style="list-style-type: decimal">
<li><p>Run a <strong>complex-samples chi-square test (Rao–Scott
family)</strong> to test the <strong>overall</strong> association
between <strong>age group (5 levels)</strong> and a categorical outcome
<span class="math inline">\(Y\)</span>.</p></li>
<li><p>If significant, run <strong>post hoc comparisons</strong> using
<strong>logistic-regression-based</strong> methods (to see
<em>which</em> age groups differ).</p></li>
<li><p>Apply <strong>Bonferroni (or Holm, etc.)</strong> to adjust for
multiple comparisons.</p></li>
</ol>
<p>Conceptually, this is a reasonable workflow.</p>
<p>However, for it to be <em>truly</em> correct, <strong>both</strong>
of the following must hold:</p>
<ul>
<li><p><strong>The post hoc logistic regression must also account for
the complex survey design</strong> (weights, strata,
clusters/PSUs).<br />
Otherwise, step (1) is design-based but step (2) ignores the design →
inconsistent SEs / p-values.</p></li>
<li><p>The regression model must match the <strong>number of categories
/ ordinality</strong> of <span class="math inline">\(Y\)</span>.</p>
<ul>
<li>If <span class="math inline">\(Y\)</span> is binary → logistic
regression<br />
</li>
<li>If <span class="math inline">\(Y\)</span> has <span class="math inline">\(3+\)</span> categories → multinomial or ordinal
logistic regression (as appropriate)</li>
</ul></li>
</ul>
</div>
<div id="step-1-what-does-the-complex-samples-chi-square-test-actually-test" class="section level3">
<h3>2) Step 1: What does the complex-samples chi-square test actually
test?</h3>
<p>Let age group be <span class="math inline">\(G \in
\{1,\dots,5\}\)</span> and a categorical variable be <span class="math inline">\(Y \in \{1,\dots,C\}\)</span>.</p>
<p>Null hypothesis (independence):</p>
<p><span class="math display">\[
H_0:\Pr(Y=c \mid G=g)=\Pr(Y=c)\quad \forall g,c.
\]</span></p>
<p>With survey weights <span class="math inline">\(w_i\)</span>, form
the weighted contingency table:</p>
<p><span class="math display">\[
\widehat{N}_{gc}=\sum_{i=1}^{n} w_i\,\mathbf{1}(G_i=g,\;Y_i=c).
\]</span></p>
<p>Compute expected counts under independence:</p>
<p><span class="math display">\[
\widehat{E}_{gc}=\frac{\widehat{N}_{g+}\widehat{N}_{+c}}{\widehat{N}_{++}}.
\]</span></p>
<p>Instead of treating the usual Pearson statistic as chi-square,
complex-sample software uses a <strong>Rao–Scott adjusted
chi-square</strong> (or an F-transformation) so that:</p>
<ul>
<li>the <strong>variance / standard errors</strong> reflect
stratification + clustering + weighting, and</li>
<li>the <strong>reference distribution / degrees of freedom</strong> are
design-based.</li>
</ul>
</div>
<div id="step-2-key-what-is-the-proper-way-to-do-post-hoc-logistic-regression-bonferroni" class="section level3">
<h3>3) Step 2 (key): What is the “proper” way to do post hoc logistic
regression + Bonferroni?</h3>
<p>In practice, the cleanest and easiest-to-defend approach is often to
use <strong>one survey-weighted regression framework</strong> that
handles:</p>
<ul>
<li>a <strong>global test</strong> (overall age-group effect), and
then</li>
<li><strong>post hoc contrasts</strong> (pairwise comparisons),</li>
</ul>
<p>all within the same design-based model (rather than “chi-square
first, then regression”).</p>
<div id="if-y-is-binary-e.g.-low-hgs-vs-normal-survey-weighted-logistic-regression" class="section level4">
<h4>3.1 If <span class="math inline">\(Y\)</span> is binary (e.g., low
HGS vs normal): survey-weighted logistic regression</h4>
<p>Model:</p>
<p><span class="math display">\[
\mathrm{logit}\{\Pr(Y_i=1 \mid G_i)\}
=\beta_0+\sum_{g=2}^{5}\beta_g\,\mathbf{1}(G_i=g).
\]</span></p>
<p>If group 1 is the reference, then <span class="math inline">\(\exp(\beta_g)\)</span> is the odds ratio for
“group <span class="math inline">\(g\)</span> vs group 1”.</p>
<p><strong>(A) Global test (overall age effect)</strong></p>
<p><span class="math display">\[
H_0:\beta_2=\beta_3=\beta_4=\beta_5=0.
\]</span></p>
<p>A typical design-based Wald form is:</p>
<p><span class="math display">\[
W=\widehat{\beta}^{\top}\Bigl(\widehat{\mathrm{Var}}(\widehat{\beta})\Bigr)^{-1}\widehat{\beta},
\]</span></p>
<p>where <span class="math inline">\(\widehat{\mathrm{Var}}(\widehat{\beta})\)</span>
is the <strong>survey-design-based (sandwich) variance</strong>.</p>
<p><strong>(B) Post hoc comparisons (pairwise contrasts)</strong></p>
<p>To compare age groups <span class="math inline">\(a\)</span> and
<span class="math inline">\(b\)</span>, test a contrast such as:</p>
<p><span class="math display">\[
H_0:\beta_a-\beta_b=0.
\]</span></p>
<p>You obtain p-values <span class="math inline">\(p_j\)</span> for
<span class="math inline">\(j=1,\dots,m\)</span> comparisons, then
adjust for multiplicity.</p>
<p>Bonferroni-adjusted p-values:</p>
<p><span class="math display">\[
p_j^{(\mathrm{Bonf})}=\min\{m\,p_j,\,1\}.
\]</span></p>
<p>Equivalently, adjust the per-test significance level:</p>
<p><span class="math display">\[
\alpha^{\*}=\frac{\alpha}{m}.
\]</span></p>
</div>
<div id="if-y-has-3-categories-multinomial-or-ordinal-survey-regression" class="section level4">
<h4>3.2 If <span class="math inline">\(Y\)</span> has <span class="math inline">\(3+\)</span> categories: multinomial or ordinal
survey regression</h4>
<p>Running separate binary logistic models for each category is often
messy and can complicate error control.</p>
<ul>
<li>If categories are nominal (no order): <strong>multinomial
logistic</strong> (with baseline category <span class="math inline">\(c=1\)</span>)</li>
</ul>
<p><span class="math display">\[
\log\frac{\Pr(Y_i=c \mid G_i)}{\Pr(Y_i=1 \mid G_i)}
=\alpha_c+\sum_{g=2}^{5}\beta_{cg}\,\mathbf{1}(G_i=g),\quad c=2,\dots,C.
\]</span></p>
<ul>
<li>If categories are ordered: consider an <strong>ordinal (cumulative
logit)</strong> model.</li>
</ul>
<p>Global tests are still “all age effects are zero” (a multivariate
Wald test), and post hoc comparisons are still contrast tests of the
form <span class="math inline">\(L\beta=0\)</span>, followed by
Bonferroni/Holm adjustments.</p>
<hr />
</div>
</div>
<div id="conclusion" class="section level3">
<h3>4) Conclusion</h3>
<ul>
<li><p>“Your overall workflow—testing the age-group association first
using a complex-samples chi-square test and then conducting post hoc
comparisons—is conceptually acceptable.”</p></li>
<li><p>“However, the post hoc logistic regression must also reflect the
complex survey design (weights, strata, clusters). If step 1 is
design-based but step 2 ignores the design, standard errors and p-values
may not be consistent.”</p></li>
<li><p>“Also, logistic regression is appropriate only when the outcome
is binary. If the outcome has three or more categories, multinomial or
ordinal logistic regression is typically the standard
approach.”</p></li>
<li><p>“Bonferroni adjustment is a valid (but conservative) way to
control family-wise error. If the number of comparisons is large, Holm
or FDR-based options can be considered depending on the study
goal.”</p></li>
</ul>
<hr />
</div>
<div id="a-recommended-clean-procedure-to-propose-to-the-client" class="section level3">
<h3>5) A recommended “clean” procedure to propose to the client</h3>
<p>For each categorical variable <span class="math inline">\(Y\)</span>:</p>
<ol style="list-style-type: decimal">
<li><p>Fit a <strong>survey-design-adjusted model</strong> appropriate
for <span class="math inline">\(Y\)</span> (binary / multinomial /
ordinal).</p></li>
<li><p>Perform a <strong>global test</strong> of the age-group
effect:</p></li>
</ol>
<p><span class="math display">\[
H_0:\text{(all age-group coefficients)}=0.
\]</span></p>
<ol start="3" style="list-style-type: decimal">
<li><p>If significant, run <strong>planned contrasts</strong> for post
hoc comparisons<br />
(e.g., 4 reference comparisons or 10 pairwise comparisons).</p></li>
<li><p>Apply multiple-comparison correction (Bonferroni or
Holm):</p></li>
</ol>
<p><span class="math display">\[
p^{(\mathrm{adj})}=\min(m\,p,1)\quad \text{or}\quad \alpha/m.
\]</span></p>
</div>
</div>
</div>




</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

</body>

</div>]]></content><author><name>Han Jun Ko</name></author><category term="Data Science Institute" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Introduction</title><link href="https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/" rel="alternate" type="text/html" title="Introduction" /><published>2025-01-01T23:59:59+00:00</published><updated>2025-01-01T23:59:59+00:00</updated><id>https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC</id><content type="html" xml:base="https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">
  <h1>Industrial Academic Cooperation Big Data Analysis</h1>
  <h2>Introduction</h2>

  <p>
    “Industrial Academic Cooperation Big Data Analysis” is a course series offered by the Department of Statistics and Data Science at Yonsei University in collaboration with external institutions and companies. 
    It is designed to give students experience applying what they learn in class to real-world data from fields such as engineering, marketing, and finance, and to derive statistical insights and practical, data-driven solutions.
  </p>

  <p>
    In the first course (STA6810), we focused on reviewing fundamental theory, attending invited talks from various companies, and investigating what kinds of statistical perspectives are currently needed in industry. 
    In the second course (STA6850), in addition to industry talks, each team selected a specific domain and carried out a Kaggle project that closely reflected the types of tasks required in that field. 
    In the third course (STA7510), a real marketing company gave a lecture, shared its in-house data, and requested an analysis; students then analyzed the data and proposed ideas back to the company.
  </p>

  <p>
    In this blog, I summarize two of the projects in which we conducted full analyses and illustrate the step-by-step process of how we approached and solved the problems.Right now, this page serves as the <strong>Introduction</strong> under the
  <strong>Industrial Academic Cooperation Big Data Analysis</strong> category on the left sidebar. If you would like to explore further, please look for the project-specific posts titled <strong>Finance Data Analysis</strong> and <strong>Marketing Data Analysis</strong> under the same category.
  </p>
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Industrial Academic Cooperation Big Data Analysis" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Finance Data Analysis</title><link href="https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/" rel="alternate" type="text/html" title="Finance Data Analysis" /><published>2025-01-01T23:59:00+00:00</published><updated>2025-01-01T23:59:00+00:00</updated><id>https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance</id><content type="html" xml:base="https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<!DOCTYPE html>
<html>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    init_mathjax = function() {
        if (window.MathJax) {
        // MathJax loaded
            MathJax.Hub.Config({
                TeX: {
                    equationNumbers: {
                    autoNumber: "AMS",
                    useLabelIds: true
                    }
                },
                tex2jax: {
                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
                    displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
                    processEscapes: true,
                    processEnvironments: true
                },
                displayAlign: 'center',
                CommonHTML: {
                    linebreaks: { 
                    automatic: true 
                    }
                }
            });
        
            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
        }
    }
    init_mathjax();
    </script>

<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">

<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="0.-Purpose-of-the-Project">0. Purpose of the Project<a class="anchor-link" href="#0.-Purpose-of-the-Project">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>The <code>Corporate Credit Rating</code> evaluates the likelihood of a company repaying its debt, i.e., its
default probability. This notebook is to compare several models predicting corporate credit ratings. This ratings determines the cost of capital, and aids in investment decision-making. Also, it helps financial institutions (banks, insurance companies, etc.) manage financial risks and contributes to market stability.</p>
<p>This rating is done by credit rating agencies such as S&amp;P, Moody's and Fitch. They represent credit risk using similar rating scales, i.e., AAA, AA, A, BBB. If they downgrade in rating, bond price decreases and interest rate increases. In constrast, if they upgrade in rating, bond price increases and interest rate decreases. Their impact on financial market is so significant that more funds flow to companies with higher credit ratings and various macroeconomic indicators are also influenced.</p>
<p>The purpose of the project is to compare several models for corporate credit rating and suggest the best model for it. The data is originated from Kaggle competition <a href="https://www.kaggle.com/datasets/agewerc/corporate-credit-rating/data" target="_blank" rel="noopener noreferrer">Corporate Credit Rating</a>. There are 2029 credit ratings from major agencies like S&amp;P, which are evaluated between 2010 and 2016. The subject of the rating is the companies listed on Nasdaq and NYSE, and there is no missing value.</p>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="1.-Install-and-Import-Packages">1. Install and Import Packages<a class="anchor-link" href="#1.-Install-and-Import-Packages">&#182;</a></h2><p>In this data analysis, we need several packages for data imbalance and other algorithms such as <code>xgboost</code> and <code>lightgbm</code>. After then, we import packages from <code>sklearn</code>, <code>imblearn</code>,<code>xgboost</code>, <code>lightgbm</code>, and other basic packages such as <code>pandas</code> and <code>matplotlib.pyplot</code>.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">imblearn</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>Requirement already satisfied: imblearn in c:\users\user\anaconda3\lib\site-packages (0.0)Note: you may need to restart the kernel to use updated packages.
Requirement already satisfied: imbalanced-learn in c:\users\user\anaconda3\lib\site-packages (from imblearn) (0.12.4)
Requirement already satisfied: scikit-learn&gt;=1.0.2 in c:\users\user\anaconda3\lib\site-packages (from imbalanced-learn-&gt;imblearn) (1.0.2)
Requirement already satisfied: threadpoolctl&gt;=2.0.0 in c:\users\user\anaconda3\lib\site-packages (from imbalanced-learn-&gt;imblearn) (2.2.0)
Requirement already satisfied: joblib&gt;=1.1.1 in c:\users\user\anaconda3\lib\site-packages (from imbalanced-learn-&gt;imblearn) (1.4.2)
Requirement already satisfied: scipy&gt;=1.5.0 in c:\users\user\anaconda3\lib\site-packages (from imbalanced-learn-&gt;imblearn) (1.7.3)
Requirement already satisfied: numpy&gt;=1.17.3 in c:\users\user\anaconda3\lib\site-packages (from imbalanced-learn-&gt;imblearn) (1.22.0)

</pre>
</div>
</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">xgboost</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>Requirement already satisfied: xgboost in c:\users\user\anaconda3\lib\site-packages (2.1.3)
Requirement already satisfied: scipy in c:\users\user\anaconda3\lib\site-packages (from xgboost) (1.7.3)
Requirement already satisfied: numpy in c:\users\user\anaconda3\lib\site-packages (from xgboost) (1.22.0)
Note: you may need to restart the kernel to use updated packages.
</pre>
</div>
</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">lightgbm</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>Requirement already satisfied: lightgbm in c:\users\user\anaconda3\lib\site-packages (4.5.0)
Requirement already satisfied: scipy in c:\users\user\anaconda3\lib\site-packages (from lightgbm) (1.7.3)
Requirement already satisfied: numpy&gt;=1.17.0 in c:\users\user\anaconda3\lib\site-packages (from lightgbm) (1.22.0)
Note: you may need to restart the kernel to use updated packages.
</pre>
</div>
</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="kn">import</span> <span class="n">LabelEncoder</span>
<span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="kn">import</span> <span class="n">StandardScaler</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">train_test_split</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">accuracy_score</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">f1_score</span>
<span class="kn">from</span> <span class="nn">imblearn.over_sampling</span> <span class="kn">import</span> <span class="n">ADASYN</span>

<span class="kn">from</span> <span class="nn">sklearn.linear_model</span> <span class="kn">import</span> <span class="n">LogisticRegression</span>
<span class="kn">from</span> <span class="nn">sklearn.discriminant_analysis</span> <span class="kn">import</span> <span class="n">LinearDiscriminantAnalysis</span>
<span class="kn">from</span> <span class="nn">sklearn.discriminant_analysis</span> <span class="kn">import</span> <span class="n">QuadraticDiscriminantAnalysis</span>
<span class="kn">from</span> <span class="nn">sklearn.neighbors</span> <span class="kn">import</span> <span class="n">KNeighborsClassifier</span>
<span class="kn">from</span> <span class="nn">sklearn</span> <span class="kn">import</span> <span class="n">svm</span>
<span class="kn">from</span> <span class="nn">sklearn.ensemble</span> <span class="kn">import</span> <span class="n">RandomForestClassifier</span>
<span class="kn">from</span> <span class="nn">sklearn.ensemble</span> <span class="kn">import</span> <span class="n">GradientBoostingClassifier</span>
<span class="kn">from</span> <span class="nn">xgboost</span> <span class="kn">import</span> <span class="n">XGBClassifier</span>
<span class="kn">import</span> <span class="nn">lightgbm</span> <span class="k">as</span> <span class="nn">lgb</span>

<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>
</pre></div>

     </div>
</div>
</div>
</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="2.-EDA-&amp;-Data-Preprocess">2. EDA &amp; Data Preprocess<a class="anchor-link" href="#2.-EDA-&amp;-Data-Preprocess">&#182;</a></h2><p>The data <code>corporate_rating.csv</code> has 31 columns, including 6 categorical and 25 numerical data.</p>
<p>The numerical data can be categorized into 4 section. First one is <code>Liquidity</code>, the ability of assets to be converted into cash. This consists of such variables as <code>currentRatio</code>, <code>quickRatio</code>, <code>cashRatio</code>, <code>daysOfSalesOutstanding</code>... Second one is <code>Profitability</code> Indicator, including <code>grossProfitMargin</code>, <code>operatingProfitMargin</code>, <code>pretaxProfitMargin</code>... The third one is <code>Debt indicator</code>, such as <code>debtRatio</code>, <code>debtEquityRatio</code> ... The last section is <code>Cash Flow</code>, which consists of <code>operatingCashFlowPerShare</code>, <code>freeCashFlowPerShare</code>, <code>cashPerShare</code>... There are some other columns not in those sections, such as <code>assetTurnover</code> (asset turnover ratio).</p>
<p>The rest of 6 categorical data are comprised of <code>Rating</code>, <code>Name</code>, <code>Symbol</code>, <code>Rating Agency Name</code>, <code>Date</code>, and <code>Sector</code>.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;corporate_rating.csv&#39;</span><span class="p">)</span>
<span class="n">cor_rate_data</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating</th>
      <th>Name</th>
      <th>Symbol</th>
      <th>Rating Agency Name</th>
      <th>Date</th>
      <th>Sector</th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>...</th>
      <th>effectiveTaxRate</th>
      <th>freeCashFlowOperatingCashFlowRatio</th>
      <th>freeCashFlowPerShare</th>
      <th>cashPerShare</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>A</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>Egan-Jones Ratings Company</td>
      <td>11/27/2015</td>
      <td>Consumer Durables</td>
      <td>0.945894</td>
      <td>0.426395</td>
      <td>0.099690</td>
      <td>44.203245</td>
      <td>...</td>
      <td>0.202716</td>
      <td>0.437551</td>
      <td>6.810673</td>
      <td>9.809403</td>
      <td>4.008012</td>
      <td>0.049351</td>
      <td>7.057088</td>
      <td>15.565438</td>
      <td>0.058638</td>
      <td>3.906655</td>
    </tr>
    <tr>
      <th>1</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>Egan-Jones Ratings Company</td>
      <td>2/13/2014</td>
      <td>Consumer Durables</td>
      <td>1.033559</td>
      <td>0.498234</td>
      <td>0.203120</td>
      <td>38.991156</td>
      <td>...</td>
      <td>0.074155</td>
      <td>0.541997</td>
      <td>8.625473</td>
      <td>17.402270</td>
      <td>3.156783</td>
      <td>0.048857</td>
      <td>6.460618</td>
      <td>15.914250</td>
      <td>0.067239</td>
      <td>4.002846</td>
    </tr>
    <tr>
      <th>2</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>Fitch Ratings</td>
      <td>3/6/2015</td>
      <td>Consumer Durables</td>
      <td>0.963703</td>
      <td>0.451505</td>
      <td>0.122099</td>
      <td>50.841385</td>
      <td>...</td>
      <td>0.214529</td>
      <td>0.513185</td>
      <td>9.693487</td>
      <td>13.103448</td>
      <td>4.094575</td>
      <td>0.044334</td>
      <td>10.491970</td>
      <td>18.888889</td>
      <td>0.074426</td>
      <td>3.483510</td>
    </tr>
    <tr>
      <th>3</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>Fitch Ratings</td>
      <td>6/15/2012</td>
      <td>Consumer Durables</td>
      <td>1.019851</td>
      <td>0.510402</td>
      <td>0.176116</td>
      <td>41.161738</td>
      <td>...</td>
      <td>1.816667</td>
      <td>-0.147170</td>
      <td>-1.015625</td>
      <td>14.440104</td>
      <td>3.630950</td>
      <td>-0.012858</td>
      <td>4.080741</td>
      <td>6.901042</td>
      <td>0.028394</td>
      <td>4.581150</td>
    </tr>
    <tr>
      <th>4</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>Standard &amp; Poor's Ratings Services</td>
      <td>10/24/2016</td>
      <td>Consumer Durables</td>
      <td>0.957844</td>
      <td>0.495432</td>
      <td>0.141608</td>
      <td>47.761126</td>
      <td>...</td>
      <td>0.166966</td>
      <td>0.451372</td>
      <td>7.135348</td>
      <td>14.257556</td>
      <td>4.012780</td>
      <td>0.053770</td>
      <td>8.293505</td>
      <td>15.808147</td>
      <td>0.058065</td>
      <td>3.857790</td>
    </tr>
  </tbody>
</table>
<p>5 rows × 31 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-Rating-Agency">(1) Rating Agency<a class="anchor-link" href="#(1)-Rating-Agency">&#182;</a></h3><p>There are 5 rating agencies, including S&amp;P, Egan-Jones, Moody's, Fitch, and DBRS.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating Agency Name</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>Standard &amp; Poor's Ratings Services</th>
      <td>744</td>
    </tr>
    <tr>
      <th>Egan-Jones Ratings Company</th>
      <td>603</td>
    </tr>
    <tr>
      <th>Moody's Investors Service</th>
      <td>579</td>
    </tr>
    <tr>
      <th>Fitch Ratings</th>
      <td>100</td>
    </tr>
    <tr>
      <th>DBRS</th>
      <td>3</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>The following mapping code is to simplify the name of the rating agencies so that its barplot becomes tidy.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">agency_mapping</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;Standard &amp; Poor&#39;s Ratings Services&quot;</span> <span class="p">:</span> <span class="s2">&quot;S&amp;P&quot;</span><span class="p">,</span>
                  <span class="s2">&quot;Egan-Jones Ratings Company&quot;</span> <span class="p">:</span> <span class="s2">&quot;Egan-Jones&quot;</span><span class="p">,</span>
                  <span class="s2">&quot;Moody&#39;s Investors Service&quot;</span> <span class="p">:</span> <span class="s2">&quot;Moody&#39;s&quot;</span><span class="p">,</span>
                  <span class="s2">&quot;Fitch Ratings&quot;</span> <span class="p">:</span> <span class="s2">&quot;Fitch&quot;</span><span class="p">,</span>
                  <span class="s2">&quot;DBRS&quot;</span> <span class="p">:</span> <span class="s2">&quot;DBRS&quot;</span><span class="p">}</span>

<span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">agency_mapping</span><span class="p">)</span>
<span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating Agency Name</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>S&amp;P</th>
      <td>744</td>
    </tr>
    <tr>
      <th>Egan-Jones</th>
      <td>603</td>
    </tr>
    <tr>
      <th>Moody's</th>
      <td>579</td>
    </tr>
    <tr>
      <th>Fitch</th>
      <td>100</td>
    </tr>
    <tr>
      <th>DBRS</th>
      <td>3</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>The evaluations of the companies are mainly done by 3 agencies; S&amp;P, Egan-Jones, and Moody's.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span> <span class="o">=</span> <span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
<span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span> <span class="o">=</span> <span class="s1">&#39;bar&#39;</span><span class="p">,</span>
                                                        <span class="n">color</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">cm</span><span class="o">.</span><span class="n">tab20</span><span class="o">.</span><span class="n">colors</span><span class="p">[:</span><span class="nb">len</span><span class="p">(</span><span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">())])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Frequency of Rating Agencies&#39;</span><span class="p">,</span> <span class="n">fontsize</span> <span class="o">=</span> <span class="mi">14</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Name of Agencies&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Counts&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>Instead of deleting the agency column, I determined to check how the agencies affect the rating of the companies. However, simply encoding the agencies based on the number of agencies (0 to 4) may not fit the conditions of some models such as <code>LDA</code> and <code>QDA</code>, because they require the explanatory variables to follow normal distribution. So, I generated dummy variables (one-hot encoding) for rating agencies.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">get_dummies</span><span class="p">(</span><span class="n">cor_rate_data</span><span class="p">,</span>
                               <span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Rating Agency Name&#39;</span><span class="p">],</span>
                               <span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;Agency&#39;</span><span class="p">,</span>
                               <span class="n">drop_first</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
                               <span class="n">dtype</span> <span class="o">=</span> <span class="nb">float</span><span class="p">)</span>
<span class="n">cor_rate_data</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating</th>
      <th>Name</th>
      <th>Symbol</th>
      <th>Date</th>
      <th>Sector</th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>...</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
      <th>Agency_Egan-Jones</th>
      <th>Agency_Fitch</th>
      <th>Agency_Moody's</th>
      <th>Agency_S&amp;P</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>A</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>11/27/2015</td>
      <td>Consumer Durables</td>
      <td>0.945894</td>
      <td>0.426395</td>
      <td>0.099690</td>
      <td>44.203245</td>
      <td>0.037480</td>
      <td>...</td>
      <td>4.008012</td>
      <td>0.049351</td>
      <td>7.057088</td>
      <td>15.565438</td>
      <td>0.058638</td>
      <td>3.906655</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>1</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>2/13/2014</td>
      <td>Consumer Durables</td>
      <td>1.033559</td>
      <td>0.498234</td>
      <td>0.203120</td>
      <td>38.991156</td>
      <td>0.044062</td>
      <td>...</td>
      <td>3.156783</td>
      <td>0.048857</td>
      <td>6.460618</td>
      <td>15.914250</td>
      <td>0.067239</td>
      <td>4.002846</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>2</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>3/6/2015</td>
      <td>Consumer Durables</td>
      <td>0.963703</td>
      <td>0.451505</td>
      <td>0.122099</td>
      <td>50.841385</td>
      <td>0.032709</td>
      <td>...</td>
      <td>4.094575</td>
      <td>0.044334</td>
      <td>10.491970</td>
      <td>18.888889</td>
      <td>0.074426</td>
      <td>3.483510</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>6/15/2012</td>
      <td>Consumer Durables</td>
      <td>1.019851</td>
      <td>0.510402</td>
      <td>0.176116</td>
      <td>41.161738</td>
      <td>0.020894</td>
      <td>...</td>
      <td>3.630950</td>
      <td>-0.012858</td>
      <td>4.080741</td>
      <td>6.901042</td>
      <td>0.028394</td>
      <td>4.581150</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>BBB</td>
      <td>Whirlpool Corporation</td>
      <td>WHR</td>
      <td>10/24/2016</td>
      <td>Consumer Durables</td>
      <td>0.957844</td>
      <td>0.495432</td>
      <td>0.141608</td>
      <td>47.761126</td>
      <td>0.042861</td>
      <td>...</td>
      <td>4.012780</td>
      <td>0.053770</td>
      <td>8.293505</td>
      <td>15.808147</td>
      <td>0.058065</td>
      <td>3.857790</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>1.0</td>
    </tr>
  </tbody>
</table>
<p>5 rows × 34 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-Sectors-and-other-categorical-variables">(2) Sectors and other categorical variables<a class="anchor-link" href="#(2)-Sectors-and-other-categorical-variables">&#182;</a></h3>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>Following code and barplot show the number of sectors, including <code>energy</code>, <code>health care</code>, <code>finance</code> etc.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Sector&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Sector</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>Energy</th>
      <td>294</td>
    </tr>
    <tr>
      <th>Basic Industries</th>
      <td>260</td>
    </tr>
    <tr>
      <th>Consumer Services</th>
      <td>250</td>
    </tr>
    <tr>
      <th>Technology</th>
      <td>234</td>
    </tr>
    <tr>
      <th>Capital Goods</th>
      <td>233</td>
    </tr>
    <tr>
      <th>Public Utilities</th>
      <td>211</td>
    </tr>
    <tr>
      <th>Health Care</th>
      <td>171</td>
    </tr>
    <tr>
      <th>Consumer Non-Durables</th>
      <td>132</td>
    </tr>
    <tr>
      <th>Consumer Durables</th>
      <td>74</td>
    </tr>
    <tr>
      <th>Transportation</th>
      <td>63</td>
    </tr>
    <tr>
      <th>Miscellaneous</th>
      <td>57</td>
    </tr>
    <tr>
      <th>Finance</th>
      <td>50</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span> <span class="o">=</span> <span class="p">(</span><span class="mi">12</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
<span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Sector&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span> <span class="o">=</span> <span class="s1">&#39;bar&#39;</span><span class="p">,</span> <span class="n">color</span> <span class="o">=</span> <span class="s1">&#39;orange&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Distribution Of Sectors&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Counts&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>Including 'Sector' column, I deleted rest of the categorical variables except for 'Rating'.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data</span> <span class="o">=</span> <span class="n">cor_rate_data</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Sector&#39;</span><span class="p">,</span><span class="s1">&#39;Name&#39;</span><span class="p">,</span><span class="s1">&#39;Date&#39;</span><span class="p">,</span> <span class="s1">&#39;Symbol&#39;</span><span class="p">])</span>
<span class="n">cor_rate_data</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating</th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>pretaxProfitMargin</th>
      <th>grossProfitMargin</th>
      <th>operatingProfitMargin</th>
      <th>returnOnAssets</th>
      <th>...</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
      <th>Agency_Egan-Jones</th>
      <th>Agency_Fitch</th>
      <th>Agency_Moody's</th>
      <th>Agency_S&amp;P</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>A</td>
      <td>0.945894</td>
      <td>0.426395</td>
      <td>0.099690</td>
      <td>44.203245</td>
      <td>0.037480</td>
      <td>0.049351</td>
      <td>0.176631</td>
      <td>0.061510</td>
      <td>0.041189</td>
      <td>...</td>
      <td>4.008012</td>
      <td>0.049351</td>
      <td>7.057088</td>
      <td>15.565438</td>
      <td>0.058638</td>
      <td>3.906655</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>1</th>
      <td>BBB</td>
      <td>1.033559</td>
      <td>0.498234</td>
      <td>0.203120</td>
      <td>38.991156</td>
      <td>0.044062</td>
      <td>0.048857</td>
      <td>0.175715</td>
      <td>0.066546</td>
      <td>0.053204</td>
      <td>...</td>
      <td>3.156783</td>
      <td>0.048857</td>
      <td>6.460618</td>
      <td>15.914250</td>
      <td>0.067239</td>
      <td>4.002846</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>2</th>
      <td>BBB</td>
      <td>0.963703</td>
      <td>0.451505</td>
      <td>0.122099</td>
      <td>50.841385</td>
      <td>0.032709</td>
      <td>0.044334</td>
      <td>0.170843</td>
      <td>0.059783</td>
      <td>0.032497</td>
      <td>...</td>
      <td>4.094575</td>
      <td>0.044334</td>
      <td>10.491970</td>
      <td>18.888889</td>
      <td>0.074426</td>
      <td>3.483510</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>BBB</td>
      <td>1.019851</td>
      <td>0.510402</td>
      <td>0.176116</td>
      <td>41.161738</td>
      <td>0.020894</td>
      <td>-0.012858</td>
      <td>0.138059</td>
      <td>0.042430</td>
      <td>0.025690</td>
      <td>...</td>
      <td>3.630950</td>
      <td>-0.012858</td>
      <td>4.080741</td>
      <td>6.901042</td>
      <td>0.028394</td>
      <td>4.581150</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>BBB</td>
      <td>0.957844</td>
      <td>0.495432</td>
      <td>0.141608</td>
      <td>47.761126</td>
      <td>0.042861</td>
      <td>0.053770</td>
      <td>0.177720</td>
      <td>0.065354</td>
      <td>0.046363</td>
      <td>...</td>
      <td>4.012780</td>
      <td>0.053770</td>
      <td>8.293505</td>
      <td>15.808147</td>
      <td>0.058065</td>
      <td>3.857790</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>1.0</td>
    </tr>
  </tbody>
</table>
<p>5 rows × 30 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(3)-Ratings-&amp;-Oversampling-through-ADASYN">(3) Ratings &amp; Oversampling through ADASYN<a class="anchor-link" href="#(3)-Ratings-&amp;-Oversampling-through-ADASYN">&#182;</a></h3><p>The following table shows the number of ratings. While some ratings including <code>BBB</code>,<code>BB</code>,<code>A</code> have sufficiently many numbers, others such as <code>AAA</code>, <code>CC</code>, <code>C</code>, and <code>D</code> have significantly low number: 7,5,2, and 1.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">rating_order</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;AAA&#39;</span><span class="p">,</span> <span class="s1">&#39;AA&#39;</span><span class="p">,</span> <span class="s1">&#39;A&#39;</span><span class="p">,</span> <span class="s1">&#39;BBB&#39;</span><span class="p">,</span> <span class="s1">&#39;BB&#39;</span><span class="p">,</span> <span class="s1">&#39;B&#39;</span><span class="p">,</span> <span class="s1">&#39;CCC&#39;</span><span class="p">,</span> <span class="s1">&#39;CC&#39;</span><span class="p">,</span> <span class="s1">&#39;C&#39;</span> <span class="p">,</span> <span class="s1">&#39;D&#39;</span> <span class="p">]</span>
<span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">reindex</span><span class="p">(</span><span class="n">rating_order</span><span class="p">)</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">T</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>AAA</th>
      <th>AA</th>
      <th>A</th>
      <th>BBB</th>
      <th>BB</th>
      <th>B</th>
      <th>CCC</th>
      <th>CC</th>
      <th>C</th>
      <th>D</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>Rating</th>
      <td>7</td>
      <td>89</td>
      <td>398</td>
      <td>671</td>
      <td>490</td>
      <td>302</td>
      <td>64</td>
      <td>5</td>
      <td>2</td>
      <td>1</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>So, my purpose is to oversample the data of extremely low number of ratings. Before oversampling, I substituted the characters into numbers; <code>AAA</code> to 0, <code>AA</code> to 1 and so on. The oversampling method do not work well when there is only 1 data in a category, like <code>D</code>. So, I assigned same number to <code>D</code> as <code>C</code>. The number of companies that are classified as <code>BBB</code> was the largest; 671 companies are rated as <code>BBB</code>. So I tried to adjust all the ratings to have 671 data respectively.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">rating_mapping</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;AAA&#39;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;AA&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;A&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;BBB&#39;</span> <span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;BB&#39;</span> <span class="p">:</span> <span class="mi">4</span><span class="p">,</span> <span class="s1">&#39;B&#39;</span> <span class="p">:</span> <span class="mi">5</span><span class="p">,</span> <span class="s1">&#39;CCC&#39;</span> <span class="p">:</span> <span class="mi">6</span><span class="p">,</span> <span class="s1">&#39;CC&#39;</span> <span class="p">:</span> <span class="mi">7</span><span class="p">,</span> <span class="s1">&#39;C&#39;</span> <span class="p">:</span> <span class="mi">8</span><span class="p">,</span> <span class="s1">&#39;D&#39;</span> <span class="p">:</span> <span class="mi">8</span><span class="p">}</span>
<span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">rating_mapping</span><span class="p">)</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;ffill&#39;</span><span class="p">)</span>
<span class="n">cor_rate_data</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating</th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>pretaxProfitMargin</th>
      <th>grossProfitMargin</th>
      <th>operatingProfitMargin</th>
      <th>returnOnAssets</th>
      <th>...</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
      <th>Agency_Egan-Jones</th>
      <th>Agency_Fitch</th>
      <th>Agency_Moody's</th>
      <th>Agency_S&amp;P</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>2</td>
      <td>0.945894</td>
      <td>0.426395</td>
      <td>0.099690</td>
      <td>44.203245</td>
      <td>0.037480</td>
      <td>0.049351</td>
      <td>0.176631</td>
      <td>0.061510</td>
      <td>0.041189</td>
      <td>...</td>
      <td>4.008012</td>
      <td>0.049351</td>
      <td>7.057088</td>
      <td>15.565438</td>
      <td>0.058638</td>
      <td>3.906655</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>1</th>
      <td>3</td>
      <td>1.033559</td>
      <td>0.498234</td>
      <td>0.203120</td>
      <td>38.991156</td>
      <td>0.044062</td>
      <td>0.048857</td>
      <td>0.175715</td>
      <td>0.066546</td>
      <td>0.053204</td>
      <td>...</td>
      <td>3.156783</td>
      <td>0.048857</td>
      <td>6.460618</td>
      <td>15.914250</td>
      <td>0.067239</td>
      <td>4.002846</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>2</th>
      <td>3</td>
      <td>0.963703</td>
      <td>0.451505</td>
      <td>0.122099</td>
      <td>50.841385</td>
      <td>0.032709</td>
      <td>0.044334</td>
      <td>0.170843</td>
      <td>0.059783</td>
      <td>0.032497</td>
      <td>...</td>
      <td>4.094575</td>
      <td>0.044334</td>
      <td>10.491970</td>
      <td>18.888889</td>
      <td>0.074426</td>
      <td>3.483510</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>3</td>
      <td>1.019851</td>
      <td>0.510402</td>
      <td>0.176116</td>
      <td>41.161738</td>
      <td>0.020894</td>
      <td>-0.012858</td>
      <td>0.138059</td>
      <td>0.042430</td>
      <td>0.025690</td>
      <td>...</td>
      <td>3.630950</td>
      <td>-0.012858</td>
      <td>4.080741</td>
      <td>6.901042</td>
      <td>0.028394</td>
      <td>4.581150</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>3</td>
      <td>0.957844</td>
      <td>0.495432</td>
      <td>0.141608</td>
      <td>47.761126</td>
      <td>0.042861</td>
      <td>0.053770</td>
      <td>0.177720</td>
      <td>0.065354</td>
      <td>0.046363</td>
      <td>...</td>
      <td>4.012780</td>
      <td>0.053770</td>
      <td>8.293505</td>
      <td>15.808147</td>
      <td>0.058065</td>
      <td>3.857790</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>1.0</td>
    </tr>
  </tbody>
</table>
<p>5 rows × 30 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>Let's delve deeper into ADASYN. This method requires the number of nearest neighbors k (K-nearest neighbors). In this analysis, I set the number k = 2. In ADASYN, the <code>majority class</code> refers to the class with largest amount of data among all other classes, while <code>minority class</code> means the rest of the classes. For the $i$-th data point $x_i$ in the minority class, calculate the ratio:
$$r_i = \frac{\text{The number of majority-class neighbors of }x_i}{k}\in[0,1]$$
Then, normalize $r_i$: $g_i = \frac{r_i}{\sum_{j\in\text{minority group}} r_j}$, and determine the number of synthetic samples to generate, $G_i$:
$$G_i = g_i*G$$
where $G =$ (Number of majority class samples - Number of minority class samples). For each $x_i$, randomly select one of its $k$ neighbors $x_*$:
$$x_{new} = x_i + \lambda(x_* - x_i)$$
where $\lambda \sim \text{Unif}(0,1)$ (interpolation).</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">cor_rate_data</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Rating&#39;</span><span class="p">])</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">cor_rate_data</span><span class="p">[</span><span class="s1">&#39;Rating&#39;</span><span class="p">]</span>
<span class="n">sampling_strategy</span> <span class="o">=</span> <span class="p">{</span><span class="n">label</span><span class="p">:</span> <span class="mi">671</span> <span class="k">for</span> <span class="n">label</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">y</span><span class="p">)}</span>

<span class="n">adasyn</span> <span class="o">=</span> <span class="n">ADASYN</span><span class="p">(</span><span class="n">sampling_strategy</span> <span class="o">=</span> <span class="n">sampling_strategy</span><span class="p">,</span> <span class="n">n_neighbors</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">2023311161</span><span class="p">)</span>
<span class="n">X_resampled</span><span class="p">,</span> <span class="n">y_resampled</span> <span class="o">=</span> <span class="n">adasyn</span><span class="o">.</span><span class="n">fit_resample</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>

<span class="n">y_resampled</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>5</th>
      <td>721</td>
    </tr>
    <tr>
      <th>4</th>
      <td>690</td>
    </tr>
    <tr>
      <th>6</th>
      <td>672</td>
    </tr>
    <tr>
      <th>8</th>
      <td>672</td>
    </tr>
    <tr>
      <th>3</th>
      <td>671</td>
    </tr>
    <tr>
      <th>0</th>
      <td>671</td>
    </tr>
    <tr>
      <th>7</th>
      <td>670</td>
    </tr>
    <tr>
      <th>2</th>
      <td>666</td>
    </tr>
    <tr>
      <th>1</th>
      <td>654</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>The following code and barplot show the total number of ratings.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">rating_remapping</span> <span class="o">=</span> <span class="p">{</span><span class="n">value</span><span class="p">:</span> <span class="n">key</span> <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">rating_mapping</span><span class="o">.</span><span class="n">items</span><span class="p">()}</span> <span class="c1"># switch key and value of rating_mapping dictionary</span>
<span class="n">rating_remapping</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;C&#39;</span>

<span class="n">rating_order2</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">rating_order</span> <span class="k">if</span> <span class="n">x</span> <span class="o">!=</span> <span class="s1">&#39;D&#39;</span><span class="p">]</span>
<span class="n">y_resampled_rating</span> <span class="o">=</span> <span class="n">y_resampled</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">rating_remapping</span><span class="p">)</span>
<span class="n">y_resampled_rating</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">reindex</span><span class="p">(</span><span class="n">rating_order2</span><span class="p">)</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">T</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>AAA</th>
      <th>AA</th>
      <th>A</th>
      <th>BBB</th>
      <th>BB</th>
      <th>B</th>
      <th>CCC</th>
      <th>CC</th>
      <th>C</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>Rating</th>
      <td>671</td>
      <td>654</td>
      <td>666</td>
      <td>671</td>
      <td>690</td>
      <td>721</td>
      <td>672</td>
      <td>670</td>
      <td>672</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span> <span class="o">=</span> <span class="p">(</span><span class="mi">12</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
<span class="n">y_resampled_rating</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">reindex</span><span class="p">(</span><span class="n">rating_order2</span><span class="p">)</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span> <span class="o">=</span> <span class="s1">&#39;bar&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;counts&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;The Number of Ratings&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>Now, combine the resampled rating data and resampled numerical (explanatory) data.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data_adasyn</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">y_resampled</span><span class="p">,</span> <span class="n">X_resampled</span><span class="p">],</span> <span class="n">axis</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">cor_rate_data_adasyn</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Rating</th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>pretaxProfitMargin</th>
      <th>grossProfitMargin</th>
      <th>operatingProfitMargin</th>
      <th>returnOnAssets</th>
      <th>...</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
      <th>Agency_Egan-Jones</th>
      <th>Agency_Fitch</th>
      <th>Agency_Moody's</th>
      <th>Agency_S&amp;P</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>2</td>
      <td>0.945894</td>
      <td>0.426395</td>
      <td>0.099690</td>
      <td>44.203245</td>
      <td>0.037480</td>
      <td>0.049351</td>
      <td>0.176631</td>
      <td>0.061510</td>
      <td>0.041189</td>
      <td>...</td>
      <td>4.008012</td>
      <td>0.049351</td>
      <td>7.057088</td>
      <td>15.565438</td>
      <td>0.058638</td>
      <td>3.906655</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>1</th>
      <td>3</td>
      <td>1.033559</td>
      <td>0.498234</td>
      <td>0.203120</td>
      <td>38.991156</td>
      <td>0.044062</td>
      <td>0.048857</td>
      <td>0.175715</td>
      <td>0.066546</td>
      <td>0.053204</td>
      <td>...</td>
      <td>3.156783</td>
      <td>0.048857</td>
      <td>6.460618</td>
      <td>15.914250</td>
      <td>0.067239</td>
      <td>4.002846</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>2</th>
      <td>3</td>
      <td>0.963703</td>
      <td>0.451505</td>
      <td>0.122099</td>
      <td>50.841385</td>
      <td>0.032709</td>
      <td>0.044334</td>
      <td>0.170843</td>
      <td>0.059783</td>
      <td>0.032497</td>
      <td>...</td>
      <td>4.094575</td>
      <td>0.044334</td>
      <td>10.491970</td>
      <td>18.888889</td>
      <td>0.074426</td>
      <td>3.483510</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>3</td>
      <td>1.019851</td>
      <td>0.510402</td>
      <td>0.176116</td>
      <td>41.161738</td>
      <td>0.020894</td>
      <td>-0.012858</td>
      <td>0.138059</td>
      <td>0.042430</td>
      <td>0.025690</td>
      <td>...</td>
      <td>3.630950</td>
      <td>-0.012858</td>
      <td>4.080741</td>
      <td>6.901042</td>
      <td>0.028394</td>
      <td>4.581150</td>
      <td>0.0</td>
      <td>1.0</td>
      <td>0.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>3</td>
      <td>0.957844</td>
      <td>0.495432</td>
      <td>0.141608</td>
      <td>47.761126</td>
      <td>0.042861</td>
      <td>0.053770</td>
      <td>0.177720</td>
      <td>0.065354</td>
      <td>0.046363</td>
      <td>...</td>
      <td>4.012780</td>
      <td>0.053770</td>
      <td>8.293505</td>
      <td>15.808147</td>
      <td>0.058065</td>
      <td>3.857790</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>0.0</td>
      <td>1.0</td>
    </tr>
  </tbody>
</table>
<p>5 rows × 30 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(4)-Split-data-into-Train-and-Test-dataset">(4) Split data into Train and Test dataset<a class="anchor-link" href="#(4)-Split-data-into-Train-and-Test-dataset">&#182;</a></h3><p>The ratio of train and test data is 80 : 20.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">data_train</span><span class="p">,</span> <span class="n">data_test</span> <span class="o">=</span> <span class="n">train_test_split</span><span class="p">(</span><span class="n">cor_rate_data_adasyn</span><span class="p">,</span> <span class="n">test_size</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span> <span class="n">random_state</span> <span class="o">=</span> <span class="mi">2023311161</span><span class="p">)</span>
<span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span> <span class="o">=</span> <span class="n">data_train</span><span class="o">.</span><span class="n">iloc</span><span class="p">[:,</span><span class="mi">2</span><span class="p">:</span><span class="mi">30</span><span class="p">],</span> <span class="n">data_train</span><span class="o">.</span><span class="n">iloc</span><span class="p">[:,</span><span class="mi">0</span><span class="p">]</span>
<span class="n">X_test</span><span class="p">,</span> <span class="n">y_test</span> <span class="o">=</span> <span class="n">data_test</span><span class="o">.</span><span class="n">iloc</span><span class="p">[:,</span><span class="mi">2</span><span class="p">:</span><span class="mi">30</span><span class="p">],</span> <span class="n">data_test</span><span class="o">.</span><span class="n">iloc</span><span class="p">[:,</span><span class="mi">0</span><span class="p">]</span>
<span class="n">X_test</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>pretaxProfitMargin</th>
      <th>grossProfitMargin</th>
      <th>operatingProfitMargin</th>
      <th>returnOnAssets</th>
      <th>returnOnCapitalEmployed</th>
      <th>returnOnEquity</th>
      <th>...</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
      <th>Agency_Egan-Jones</th>
      <th>Agency_Fitch</th>
      <th>Agency_Moody's</th>
      <th>Agency_S&amp;P</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>2371</th>
      <td>2.278170</td>
      <td>0.111674</td>
      <td>71.634958</td>
      <td>0.144557</td>
      <td>0.061013</td>
      <td>0.640281</td>
      <td>0.203167</td>
      <td>0.072946</td>
      <td>0.045269</td>
      <td>0.169617</td>
      <td>...</td>
      <td>2.305414</td>
      <td>0.061013</td>
      <td>17.261475</td>
      <td>3.695267</td>
      <td>0.327851</td>
      <td>4.956799</td>
      <td>0.000000</td>
      <td>0.000000</td>
      <td>0.0</td>
      <td>1.000000</td>
    </tr>
    <tr>
      <th>534</th>
      <td>1.038975</td>
      <td>0.380729</td>
      <td>63.727017</td>
      <td>0.059743</td>
      <td>0.092966</td>
      <td>0.192734</td>
      <td>0.103564</td>
      <td>0.046122</td>
      <td>0.090953</td>
      <td>0.109802</td>
      <td>...</td>
      <td>2.380685</td>
      <td>0.092966</td>
      <td>8.102552</td>
      <td>3.403397</td>
      <td>0.079016</td>
      <td>6.936468</td>
      <td>0.000000</td>
      <td>0.000000</td>
      <td>1.0</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>1071</th>
      <td>1.229724</td>
      <td>0.380645</td>
      <td>46.646221</td>
      <td>0.068476</td>
      <td>0.103081</td>
      <td>0.199890</td>
      <td>0.118506</td>
      <td>0.053858</td>
      <td>0.096087</td>
      <td>0.149840</td>
      <td>...</td>
      <td>2.782151</td>
      <td>0.103081</td>
      <td>6.363313</td>
      <td>3.485643</td>
      <td>0.127798</td>
      <td>10.028686</td>
      <td>0.000000</td>
      <td>0.000000</td>
      <td>1.0</td>
      <td>0.000000</td>
    </tr>
    <tr>
      <th>5606</th>
      <td>0.394453</td>
      <td>0.026197</td>
      <td>53.924592</td>
      <td>0.196575</td>
      <td>0.147173</td>
      <td>0.998726</td>
      <td>-0.193032</td>
      <td>0.050472</td>
      <td>0.043942</td>
      <td>-0.404301</td>
      <td>...</td>
      <td>-11.054333</td>
      <td>0.147173</td>
      <td>20.605994</td>
      <td>3.182294</td>
      <td>0.083168</td>
      <td>3.631803</td>
      <td>0.014864</td>
      <td>0.000000</td>
      <td>0.0</td>
      <td>0.985136</td>
    </tr>
    <tr>
      <th>4943</th>
      <td>0.549608</td>
      <td>0.308271</td>
      <td>23.011114</td>
      <td>-1.083307</td>
      <td>-1.194222</td>
      <td>0.509708</td>
      <td>-1.100582</td>
      <td>-0.579432</td>
      <td>-0.725569</td>
      <td>1.409955</td>
      <td>...</td>
      <td>-2.537786</td>
      <td>-1.194222</td>
      <td>-4.132979</td>
      <td>5.529796</td>
      <td>0.146863</td>
      <td>3.738619</td>
      <td>0.000000</td>
      <td>0.534308</td>
      <td>0.0</td>
      <td>0.465692</td>
    </tr>
  </tbody>
</table>
<p>5 rows × 28 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="3.-Machine-Learning-Models">3. Machine Learning Models<a class="anchor-link" href="#3.-Machine-Learning-Models">&#182;</a></h2><p>This section compares several machine learning models to compare how well each model predicts the rating of the companies. We'll provide two measures for the prediction performance; <code>accuracy</code> and weighted $f_1$ score.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">average</span> <span class="o">=</span> <span class="s1">&#39;weighted&#39;</span>
</pre></div>

     </div>
</div>
</div>
</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-Ordered-Logistic-Regression">(1) Ordered Logistic Regression<a class="anchor-link" href="#(1)-Ordered-Logistic-Regression">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># OrderedModel in statsmodels is too poor.</span>

<span class="n">LR_model</span> <span class="o">=</span> <span class="n">LogisticRegression</span><span class="p">(</span><span class="n">random_state</span><span class="o">=</span><span class="mi">2023311161</span> <span class="p">,</span>
                              <span class="n">multi_class</span><span class="o">=</span><span class="s1">&#39;multinomial&#39;</span><span class="p">,</span>
                              <span class="n">solver</span><span class="o">=</span><span class="s1">&#39;newton-cg&#39;</span><span class="p">,</span>
                              <span class="n">max_iter</span><span class="o">=</span><span class="mi">5000</span><span class="p">)</span>

<span class="n">LR_model</span> <span class="o">=</span> <span class="n">LR_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_LR</span> <span class="o">=</span> <span class="n">LR_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_olr</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_LR</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Ordered Logistic Regression Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_olr</span><span class="p">)</span> <span class="c1"># 0.5935</span>

<span class="n">f1_olr</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_LR</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Ordered Logistic Regression f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_olr</span><span class="p">)</span> <span class="c1"># 0.5709</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>Ordered Logistic Regression Accuracy : 0.5935960591133005
Ordered Logistic Regression f1 score : 0.5709746447753064
</pre>
</div>
</div>

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
<pre>C:\Users\user\anaconda3\lib\site-packages\sklearn\utils\optimize.py:210: ConvergenceWarning: newton-cg failed to converge. Increase the number of iterations.
  warnings.warn(
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-LDA">(2) LDA<a class="anchor-link" href="#(2)-LDA">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">LDA_model</span> <span class="o">=</span> <span class="n">LinearDiscriminantAnalysis</span><span class="p">()</span>
<span class="n">LDA_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span><span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_LDA</span> <span class="o">=</span> <span class="n">LDA_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_LDA</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_LDA</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;LDA Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_LDA</span><span class="p">)</span>

<span class="n">f1_LDA</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_LDA</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;LDA f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_LDA</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>LDA Accuracy : 0.48932676518883417
LDA f1 score : 0.4515765543613118
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(3)-QDA">(3) QDA<a class="anchor-link" href="#(3)-QDA">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">QDA_model</span> <span class="o">=</span> <span class="n">QuadraticDiscriminantAnalysis</span><span class="p">()</span>
<span class="n">QDA_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span><span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_QDA</span> <span class="o">=</span> <span class="n">QDA_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_QDA</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_QDA</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;QDA Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_QDA</span><span class="p">)</span>

<span class="n">f1_QDA</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_QDA</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;QDA f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_QDA</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>QDA Accuracy : 0.535303776683087
QDA f1 score : 0.4714921035655885
</pre>
</div>
</div>

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
<pre>C:\Users\user\anaconda3\lib\site-packages\sklearn\discriminant_analysis.py:878: UserWarning: Variables are collinear
  warnings.warn(&#34;Variables are collinear&#34;)
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(4)-KNN">(4) KNN<a class="anchor-link" href="#(4)-KNN">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">KNN_model</span> <span class="o">=</span> <span class="n">KNeighborsClassifier</span><span class="p">(</span><span class="n">n_neighbors</span> <span class="o">=</span> <span class="mi">3</span><span class="p">)</span>
<span class="n">KNN_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span><span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_KNN</span> <span class="o">=</span> <span class="n">KNN_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_KNN</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_KNN</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;KNN Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_KNN</span><span class="p">)</span>

<span class="n">f1_KNN</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_KNN</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;KNN f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_KNN</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>KNN Accuracy : 0.7996715927750411
KNN f1 score : 0.7858740734584811
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(5)-SVM">(5) SVM<a class="anchor-link" href="#(5)-SVM">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">SVC_model</span> <span class="o">=</span> <span class="n">svm</span><span class="o">.</span><span class="n">SVC</span><span class="p">(</span><span class="n">gamma</span><span class="o">=</span> <span class="s1">&#39;auto&#39;</span><span class="p">)</span>
<span class="n">SVC_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_SVM</span> <span class="o">=</span> <span class="n">SVC_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_SVM</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_SVM</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;SVM Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_SVM</span><span class="p">)</span>

<span class="n">f1_SVM</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_SVM</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;SVM f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_SVM</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>SVM Accuracy : 0.7955665024630542
SVM f1 score : 0.8121719550099245
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(6)-Random-Forest">(6) Random Forest<a class="anchor-link" href="#(6)-Random-Forest">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">RF_model</span> <span class="o">=</span> <span class="n">RandomForestClassifier</span><span class="p">(</span><span class="n">random_state</span><span class="o">=</span><span class="mi">2023311161</span><span class="p">)</span>
<span class="n">RF_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span><span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_RF</span> <span class="o">=</span> <span class="n">RF_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_RF</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_RF</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Random Forest Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_RF</span><span class="p">)</span>

<span class="n">f1_RF</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_RF</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Random Forest f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_RF</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>Random Forest Accuracy : 0.8538587848932676
Random Forest f1 score : 0.8512928695960994
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(7)-Gradient-Boosting">(7) Gradient Boosting<a class="anchor-link" href="#(7)-Gradient-Boosting">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">GBT_model</span> <span class="o">=</span> <span class="n">GradientBoostingClassifier</span><span class="p">(</span><span class="n">random_state</span><span class="o">=</span><span class="mi">2023311161</span><span class="p">)</span>
<span class="n">GBT_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_GBT</span> <span class="o">=</span> <span class="n">GBT_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_GBT</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_GBT</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;GBT Accuracy :&quot;</span><span class="p">,</span><span class="n">acc_GBT</span><span class="p">)</span>

<span class="n">f1_GBT</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_GBT</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;GBT f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_GBT</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>GBT Accuracy : 0.7857142857142857
GBT f1 score : 0.7805326021015632
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(8)-XGBoost">(8) XGBoost<a class="anchor-link" href="#(8)-XGBoost">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">xgb_model</span> <span class="o">=</span> <span class="n">XGBClassifier</span><span class="p">(</span><span class="n">objective</span><span class="o">=</span><span class="s1">&#39;multi:softmax&#39;</span><span class="p">,</span> <span class="n">num_class</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="n">y_train</span><span class="o">.</span><span class="n">unique</span><span class="p">()),</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">2023311161</span><span class="p">)</span>
<span class="n">xgb_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_xgb</span> <span class="o">=</span> <span class="n">xgb_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_xgb</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_xgb</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;XGBoost accuracy :&quot;</span><span class="p">,</span> <span class="n">acc_xgb</span><span class="p">)</span>

<span class="n">f1_xgb</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_xgb</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;XGBoost f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_xgb</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>XGBoost accuracy : 0.8702791461412152
XGBoost f1 score : 0.8690958617082526
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(9)-LightGBM">(9) LightGBM<a class="anchor-link" href="#(9)-LightGBM">&#182;</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">lgb_model</span> <span class="o">=</span> <span class="n">lgb</span><span class="o">.</span><span class="n">LGBMClassifier</span><span class="p">(</span><span class="n">random_state</span><span class="o">=</span><span class="mi">2023311161</span><span class="p">)</span>
<span class="n">lgb_model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">y_pred_lightGBM</span> <span class="o">=</span> <span class="n">lgb_model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">X_test</span><span class="p">)</span>
<span class="n">acc_lightGBM</span> <span class="o">=</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_lightGBM</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;LightGBM accuracy :&quot;</span><span class="p">,</span> <span class="n">acc_lightGBM</span><span class="p">)</span>

<span class="n">f1_lightGBM</span> <span class="o">=</span> <span class="n">f1_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">y_pred_lightGBM</span><span class="p">,</span> <span class="n">average</span> <span class="o">=</span> <span class="n">average</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;LightGBM f1 score :&quot;</span><span class="p">,</span> <span class="n">f1_lightGBM</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>[LightGBM] [Info] Auto-choosing col-wise multi-threading, the overhead of testing was 0.001712 seconds.
You can set `force_col_wise=true` to remove the overhead.
[LightGBM] [Info] Total Bins 7066
[LightGBM] [Info] Number of data points in the train set: 4869, number of used features: 28
[LightGBM] [Info] Start training from score -2.221548
[LightGBM] [Info] Start training from score -2.219655
[LightGBM] [Info] Start training from score -2.225343
[LightGBM] [Info] Start training from score -2.195378
[LightGBM] [Info] Start training from score -2.202785
[LightGBM] [Info] Start training from score -2.131070
[LightGBM] [Info] Start training from score -2.214000
[LightGBM] [Info] Start training from score -2.188025
[LightGBM] [Info] Start training from score -2.180726
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
LightGBM accuracy : 0.8735632183908046
LightGBM f1 score : 0.8737808912916817
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="4.-Results">4. Results<a class="anchor-link" href="#4.-Results">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-Accuracy">(1) Accuracy<a class="anchor-link" href="#(1)-Accuracy">&#182;</a></h3><p>The following barplot compares the accuracies of each model in ascending order. The <code>LightGBM</code>, <code>XGBoost</code>, and <code>random forest</code> show the highest accuracies among all of the models; around 87%. However, <code>ordered logistic</code>, <code>LDA</code>, and <code>QDA</code> have relatively low accuracies; around 50 ~ 60%.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">models</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Ordered Logistic&#39;</span><span class="p">,</span> <span class="s1">&#39;LDA&#39;</span><span class="p">,</span><span class="s1">&#39;QDA&#39;</span><span class="p">,</span> <span class="s1">&#39;KNN&#39;</span><span class="p">,</span><span class="s1">&#39;SVC&#39;</span><span class="p">,</span><span class="s1">&#39;Random Forest&#39;</span><span class="p">,</span><span class="s1">&#39;Gradient Boosting&#39;</span><span class="p">,</span><span class="s1">&#39;XGBoost&#39;</span><span class="p">,</span><span class="s1">&#39;LightGBM&#39;</span><span class="p">]</span>
<span class="n">accuracy</span> <span class="o">=</span> <span class="p">[</span><span class="n">acc_olr</span><span class="p">,</span> <span class="n">acc_LDA</span><span class="p">,</span> <span class="n">acc_QDA</span><span class="p">,</span> <span class="n">acc_KNN</span><span class="p">,</span> <span class="n">acc_SVM</span><span class="p">,</span> <span class="n">acc_RF</span><span class="p">,</span> <span class="n">acc_GBT</span><span class="p">,</span> <span class="n">acc_xgb</span><span class="p">,</span> <span class="n">acc_lightGBM</span><span class="p">]</span>
<span class="n">df_acc</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s1">&#39;model&#39;</span> <span class="p">:</span> <span class="n">models</span><span class="p">,</span> <span class="s1">&#39;accuracy&#39;</span> <span class="p">:</span> <span class="n">accuracy</span><span class="p">})</span>
<span class="n">df_acc</span> <span class="o">=</span> <span class="n">df_acc</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="s1">&#39;accuracy&#39;</span><span class="p">,</span> <span class="n">ascending</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span>

<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span> <span class="o">=</span> <span class="p">(</span><span class="mi">12</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">sns</span><span class="o">.</span><span class="n">barplot</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">df_acc</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;model&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;accuracy&#39;</span><span class="p">,</span>  <span class="n">palette</span><span class="o">=</span><span class="s1">&#39;viridis&#39;</span><span class="p">)</span>

<span class="c1"># Add accuracy values on top of each bar</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">ax</span><span class="o">.</span><span class="n">patches</span><span class="p">:</span>
    <span class="n">ax</span><span class="o">.</span><span class="n">annotate</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">p</span><span class="o">.</span><span class="n">get_height</span><span class="p">()</span><span class="si">:</span><span class="s1">.3f</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">,</span>  <span class="c1"># Format with two decimals</span>
                <span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">get_x</span><span class="p">()</span> <span class="o">+</span> <span class="n">p</span><span class="o">.</span><span class="n">get_width</span><span class="p">()</span> <span class="o">/</span> <span class="mf">2.</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">get_height</span><span class="p">()),</span>
                <span class="n">ha</span><span class="o">=</span><span class="s1">&#39;center&#39;</span><span class="p">,</span> <span class="n">va</span><span class="o">=</span><span class="s1">&#39;bottom&#39;</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Accuracy&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;The accuracies for distinct models&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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y+TJk+nWrVtzN6sOE2hJkqRVqFRSOGbMGIYMGcKsWbMYMmRIg4n52mbq1Kn07NmTHj160LZtW0aMGMHEiRPr1IkIPvjgA1JKfPjhh3To0IGqqrp3V54yZQqf+9zn2H777WvLTjnlFH71q18REc3SlsaYQEuSJK1CpZLCiRMncvzxxwNw/PHHc8sttzRLeypp/vz5dO3atXa6S5cuzJ8/v06d0aNH8+yzz9KpUyf69+/PhRdeyAYb1E1LJ0yYwLHHHls7feutt9K5c2cGDBhQ2QaUwQRakiRpFSqVFL7xxht07NgRgI4dO/Lmm29WsBXNI6W0Qln9HuO7776bgQMH8tprrzF9+nRGjx7N+++/Xzt/yZIl3HrrrRx99NEALF68mHPOOYezzz67ssGXyQRakiRpFSqRFK6runTpwty5c2un582bR6dOnerUufLKKzniiCOICHr27MkOO+zAc889Vzv/zjvvZNddd2W77bYD4KWXXmL27NkMGDCA7t27M2/ePHbddVdef/315mlUPSbQkiRJq1CJpBBgu+22Y8GCBQAsWLCAbbfdtsItqbzBgwcza9YsZs+ezZIlS5gwYQLDhw+vU6dbt25MmTIFyHrhn3/+eXr06FE7f/z48XV66vv378+bb77JnDlzmDNnDl26dOGJJ57gs5/9bPM0qh4TaEmS1nOre3cJgO7du9O/f38GDhzIoEGDVli2NdxyrClUIikEGD58OFdffTUAV199NYceemiFW1J5VVVVjB07lv3335+dd96ZY445hr59+zJu3DjGjRsHwBlnnMFDDz1E//79GTJkCOeeey5bb701kA3XmDx5MkcccURLNmOloqGfJFqzQYMGpWnTprV0GJIkrROqq6vZcccdmTx5Ml26dGHw4MGMHz+ePn361Nb5xS9+wXvvvce5557LW2+9Re/evXn99ddp27Yt3bt3Z9q0abXJT6m5c+fyrW99i+eee47HH3+8wTprk0mTJnHyySdTXV3NCSecwE9+8pPahHDUqFG89tprjBw5kgULFpBS4vTTT+e4444DsqSwa9euvPzyy2y++ea161y0aBHHHHMMr776Kt26deP666+nQ4cOLdI+rSgiHk8prXBmWNVQZUmStH4ovbsEUHt3idIEupy7SzSk5pZj60KvKsCwYcMYNmxYnbJRo0bVvu7UqRP33HNPg8tusskmLFq0aIXyrbbaqrbXurW4+dEvtXQIzebwPR5YreVMoCVJWo81dHeJRx99tE6d0aNHM3z4cDp16sQHH3zAddddV3t3iYhgv/32IyL4j//4D0488USgdd1yDOCsB05o6RCa1c++dEVLh7BOM4GWJGk9VuTuEvfddx8vvfQSQ4cOZe+992azzTbj73//O506deLNN99k6NCh7LTTTgwaNIhzzjmn0d5YaW3nRYSSJK3H1vTuEjV1t912Ww4//HCmTp3a6m45JjU1E2hJktZja3J3iY8++ogPPvgAgI8++oh77rmHfv36tbpbjklNzSEckiStx0pvOVZzd4maW45BdpHcGWecwciRI+nfvz8ppdpbjr388sscfvjhACxbtoyvfe1rHHDAAS3ZHKlZmEBLkrSeW927S/To0YMZM2ascv1z5sxZ4xil1sQEWpKktdhRE3/U0iE0qxsO/VVLhyA5BlqSJEkqwgRakiRJKsAEWpIkSSrABFqSJEkqwARakiRJKsAEWpIkSSrABFqSJEkqwARakiRJKsAEWpIkSSrABFqStM6666676N27Nz179mTMmDErzH/vvfc45JBDGDBgAH379uXKK69c5bJvv/02Q4cOpVevXgwdOpR33nmnWdoiqfUwgZaktcyqksLzzjuPgQMHMnDgQPr160ebNm14++23Abjwwgvp168fffv25YILLqiz3MUXX0zv3r3p27cvP/rR2v946Orqak466STuvPNOnnnmGcaPH88zzzxTp84ll1xCnz59mDFjBvfffz8/+MEPWLJkyUqXHTNmDEOGDGHWrFkMGTKkwb+BpHWbCbQkrUXKSQp/+MMfMn36dKZPn84vf/lL9tlnHzp06MDTTz/N5ZdfztSpU5kxYwa33347s2bNAuAvf/kLEydO5Mknn2TmzJmceuqpLdG8JjV16lR69uxJjx49aNu2LSNGjGDixIl16kQEH3zwASklPvzwQzp06EBVVdVKl504cSLHH388AMcffzy33HJLczdNUgszgZaktUg5SWGp8ePHc+yxxwLw7LPPsueee7LJJptQVVXFPvvsw8033wzApZdeyumnn85GG20EwLbbblv5xlTY/Pnz6dq1a+10ly5dmD9/fp06o0eP5tlnn6VTp07079+fCy+8kA022GCly77xxht07NgRgI4dO/Lmm282Q2sktSYm0JK0FiknKayxePFi7rrrLo488kgA+vXrxwMPPMCiRYtYvHgxkyZNYu7cuQC88MILPPjgg+yxxx7ss88+PPbYY5VvTIWllFYoi4g603fffTcDBw7ktddeY/r06YwePZr333+/rGUlrb9MoCW1Gmsytvf888+nb9++9OvXj2OPPZZPPvmkdrl1aWxvkcTutttu44tf/CIdOnQAYOedd+a0005j6NChHHDAAQwYMICqqioAli1bxjvvvMMjjzzCeeedxzHHHNPge61NunTpUnuCADBv3jw6depUp86VV17JEUccQUTQs2dPdthhB5577rmVLrvddtuxYMECABYsWLBO9NZLKqaiCXREHBARz0fEixFxegPzN4+I2yJiRkTMjIhvVDIeSa3XmoztnT9/PhdddBHTpk3j6aefprq6mgkTJgDr3tjecpLCGhMmTKgdvlHjm9/8Jk888QQPPPAAHTp0oFevXrXrrUkkd999dzbYYAMWLlxYuYY0g8GDBzNr1ixmz57NkiVLmDBhAsOHD69Tp1u3bkyZMgXIhmY8//zz9OjRY6XLDh8+nKuvvhqAq6++mkMPPbR5GyapxVUsgY6INsAlwIFAH+DYiOhTr9pJwDMppQHAvsBvIqJtpWKS1HqtydheyHpQP/74Y5YtW8bixYtrk8p1bWxvOUkhZLdn++tf/7pCclczXvfVV1/lpptuqt2Ghx12GPfddx+QDedYsmQJW2+9dYVbU1lVVVWMHTuW/fffn5133pljjjmGvn37Mm7cOMaNGwfAGWecwUMPPUT//v0ZMmQI5557LltvvXWjywKcfvrpTJ48mV69ejF58mROP32F/iFJ67iqCq57d+DFlNLLABExATgUKO1SSsCmkf3+2B54G1hWwZgktVINje199NFHG6xbM7Z37NixAHTu3JlTTz2Vbt260a5dO/bbbz/2228/4NOxvT/5yU/YeOON+fWvf83gwYMr36AKKU3sqqurOeGEE2qTQoBRo0YBcPPNN7Pffvvxmc98ps7yRx55JIsWLWLDDTfkkksuYcsttwTghBNO4IQTTqBfv360bduWq6++ep0Y8zts2DCGDRtWp6xmGwF06tSJe+65p+xlAbbaaqvaXmtJ66dKJtCdgbkl0/OAPerVGQvcCrwGbAp8NaW0vP6KIuJE4ETIfm6TtO5Zk7G977zzDhMnTmT27NlsscUWHH30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GA3cTXYbuytSSjMjYlQ+f1xK6dmIuAt4ElhOdqu7pysVkyRJkrSmKnof6JTSJGBSvbJx9abPA86rZBySJElSU/FJhJIkSVIBJtCSJElSASbQkiRJUgEm0JIkSVIBJtCSJElSASbQkiRJUgEm0JIkSVIBJtCSJElSASbQWm133XUXvXv3pmfPnowZM2aF+ffffz+bb745AwcOZODAgZx99tkAfPLJJ+y+++4MGDCAvn378rOf/ax2mTPPPJPOnTvXLjNp0qQV1itJktSSKvokQq27qqurOemkk5g8eTJdunRh8ODBDB8+nD59+tSpt/fee3P77bfXKdtoo4247777aN++PUuXLmWvvfbiwAMPZM899wTglFNO4dRTT222tkiSJBVhD7RWy9SpU+nZsyc9evSgbdu2jBgxgokTJ5a1bETQvn17AJYuXcrSpUuJiEqGK0mS1GRMoLVa5s+fT9euXWunu3Tpwvz581eo9/DDDzNgwAAOPPBAZs6cWVteXV3NwIED2XbbbRk6dCh77LFH7byxY8eyyy67cMIJJ/DOO+9UtiGSJEkFmUBrtaSUViir34u866678sorrzBjxgy++93vcthhh9XOa9OmDdOnT2fevHlMnTqVp59+GoDvfOc7vPTSS0yfPp2OHTvygx/8oKLtkCRJKsoEWqulS5cuzJ07t3Z63rx5dOrUqU6dzTbbrHaoxrBhw1i6dCkLFy6sU2eLLbZg33335a677gJgu+22o02bNmywwQZ8+9vfZurUqRVuiSRJUjEm0FotgwcPZtasWcyePZslS5YwYcIEhg8fXqfO66+/XttTPXXqVJYvX85WW23FW2+9xbvvvgvAxx9/zL333stOO+0EwIIFC2qXv/nmm+nXr1/zNEiSJKlM3oVDq6WqqoqxY8ey//77U11dzQknnEDfvn0ZN24cAKNGjeKGG27g0ksvpaqqinbt2jFhwgQiggULFnD88cdTXV3N8uXLOeaYYzj44IMB+NGPfsT06dOJCLp3787vfve7lmymJEnSCkygtdqGDRvGsGHD6pSNGjWq9vXo0aMZPXr0Csvtsssu/OMf/2hwnX/84x+bNkhJkqQmZgK9njrokJ+tutI65I7bzmrpECRJ0jrCMdCSJElSASbQkiRJUgEm0JIkSVIBJtCSJElSASbQkiRJUgEm0JIkSVIBq0ygI+LgiFivEu277rqL3r1707NnT8aMGdNovccee4w2bdpwww031Jadf/759O3bl379+nHsscfyySefADBjxgy+8IUv0L9/fw455BDef//9irdDkiRJTa+cxHgEMCsifhURO1c6oJZWXV3NSSedxJ133skzzzzD+PHjeeaZZxqsd9ppp7H//vvXls2fP5+LLrqIadOm8fTTT1NdXc2ECRMA+Na3vsWYMWN46qmnOPzwwznvvPOarU2SJElqOqtMoFNKxwGfB14CroyIhyPixIjYtOLRtYCpU6fSs2dPevToQdu2bRkxYgQTJ05cod7FF1/MkUceybbbblunfNmyZXz88ccsW7aMxYsX06lTJwCef/55vvSlLwEwdOhQbrzxxso3RpIkSU2urKEZKaX3gRuBCUBH4HDgiYj4bgVjaxHz58+na9eutdNdunRh/vz5K9S5+eab6zy2GqBz586ceuqpdOvWjY4dO7L55puz3377AdCvXz9uvfVWAK6//nrmzp1b4ZZIkiSpEsoZA31IRNwM3AdsCOyeUjoQGACcWuH4ml1KaYWyiKgzffLJJ3PuuefSpk2bOuXvvPMOEydOZPbs2bz22mt89NFHXHPNNQBcccUVXHLJJey222588MEHtG3btnKNkCRJUsVUlVHnaOD8lNIDpYUppcURcUJlwmo5Xbp0qdM7PG/evNphGDWmTZvGiBEjAFi4cCGTJk2iqqqKpUuXssMOO7DNNtsAcMQRR/DQQw9x3HHHsdNOO3HPPfcA8MILL3DHHXc0U4skSZLUlMoZwvEzYGrNRES0i4juACmlKRWKq8UMHjyYWbNmMXv2bJYsWcKECRMYPnx4nTqzZ89mzpw5zJkzh6OOOorf/va3HHbYYXTr1o1HHnmExYsXk1JiypQp7Lxzdt3lm2++CcDy5cv5+c9/vsLwD0mSJK0dykmgrweWl0xX52XrpKqqKsaOHcv+++/PzjvvzDHHHEPfvn0ZN24c48aNW+mye+yxB0cddRS77ror/fv3Z/ny5Zx44okAjB8/nh133JGddtqJTp068Y1vfKM5miNJkqQmVs4QjqqU0pKaiZTSkohYpwfwDhs2jGHDhtUpa6zH+KqrrqozfdZZZ3HWWWetUO/73/8+3//+95ssRkmSJLWMcnqg34qI2jEMEXEosLByIUmSJEmtVzk90KOAP0XEWCCAucC/VzSqNTBs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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-weighted-average-$F_1$-score">(2) weighted average $F_1$ score<a class="anchor-link" href="#(2)-weighted-average-$F_1$-score">&#182;</a></h3><p>This section suggests different measure, the weighted average $F_1$ score. Suppose $C$ is the total number of classes, $n_k$ is the number of samples in class $k$, $w_k := n_k/\sum_{j=1}^C n_j$ is the weight of class $k$. The <code>precision</code> and <code>recall</code>, another type of measure for performance, are defined as follows:
$$P_k = \frac{\text{True Positive}_k}{\text{True Positive}_k+\text{False Positive}_k}$$
$$R_k = \frac{\text{True Positive}_k}{\text{True Positive}_k+\text{False Negative}_k}$$
Then, the class-wise $F_1$ score is $F_{1,(k)} = 2\frac{P_k\cdot R_k}{P_k + R_k}$, and thus the weighted average $F_1$ score is
    $$F_{1,weighted} := \sum_{k=1}^C w_k\cdot F_{1,(k)}$$</p>
<p>The following barplot compares the weighted $F_1$ scores of each model in ascending order. The <code>LightGBM</code>, <code>XGBoost</code>, and <code>random forest</code> show the highest weighted $F_1$ scores among all of the models; around 87%. However, <code>ordered logistic</code>, <code>LDA</code>, and <code>QDA</code> have relatively low weighted $F_1$ scores; around 45 ~ 57%.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">f1_scores</span> <span class="o">=</span> <span class="p">[</span><span class="n">f1_olr</span><span class="p">,</span> <span class="n">f1_LDA</span><span class="p">,</span> <span class="n">f1_QDA</span><span class="p">,</span> <span class="n">f1_KNN</span><span class="p">,</span> <span class="n">f1_SVM</span><span class="p">,</span> <span class="n">f1_RF</span><span class="p">,</span> <span class="n">f1_GBT</span><span class="p">,</span> <span class="n">f1_xgb</span><span class="p">,</span> <span class="n">f1_lightGBM</span><span class="p">]</span>
<span class="n">df_f1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s1">&#39;model&#39;</span> <span class="p">:</span> <span class="n">models</span><span class="p">,</span> <span class="s1">&#39;f1_score&#39;</span> <span class="p">:</span> <span class="n">f1_scores</span><span class="p">})</span>
<span class="n">df_f1</span> <span class="o">=</span> <span class="n">df_f1</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="s1">&#39;f1_score&#39;</span><span class="p">,</span> <span class="n">ascending</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span>

<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span> <span class="o">=</span> <span class="p">(</span><span class="mi">12</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">sns</span><span class="o">.</span><span class="n">barplot</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">df_f1</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="s1">&#39;model&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;f1_score&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;skyblue&#39;</span><span class="p">)</span>

<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">ax</span><span class="o">.</span><span class="n">patches</span><span class="p">:</span>
    <span class="n">ax</span><span class="o">.</span><span class="n">annotate</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">p</span><span class="o">.</span><span class="n">get_height</span><span class="p">()</span><span class="si">:</span><span class="s1">.3f</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">,</span>  <span class="c1"># Format with two decimals</span>
                <span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">get_x</span><span class="p">()</span> <span class="o">+</span> <span class="n">p</span><span class="o">.</span><span class="n">get_width</span><span class="p">()</span> <span class="o">/</span> <span class="mf">2.</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">get_height</span><span class="p">()),</span>
                <span class="n">ha</span><span class="o">=</span><span class="s1">&#39;center&#39;</span><span class="p">,</span> <span class="n">va</span><span class="o">=</span><span class="s1">&#39;bottom&#39;</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;f1 score&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;The f1 scores for distinct models&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(3)-Feature-Importance">(3) Feature Importance<a class="anchor-link" href="#(3)-Feature-Importance">&#182;</a></h3><p>This barplot shows how important each variable is.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_LGB_importance</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s1">&#39;feature&#39;</span> <span class="p">:</span> <span class="n">X_train</span><span class="o">.</span><span class="n">columns</span><span class="p">,</span>
                                  <span class="s1">&#39;importance&#39;</span> <span class="p">:</span> <span class="n">lgb_model</span><span class="o">.</span><span class="n">feature_importances_</span><span class="p">})</span>
<span class="n">df_LGB_importance</span> <span class="o">=</span> <span class="n">df_LGB_importance</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">by</span> <span class="o">=</span> <span class="s1">&#39;importance&#39;</span><span class="p">,</span> <span class="n">ascending</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span>

<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span> <span class="o">=</span> <span class="p">(</span><span class="mi">16</span><span class="p">,</span><span class="mi">10</span><span class="p">))</span>
<span class="n">bars</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">barh</span><span class="p">(</span><span class="n">df_LGB_importance</span><span class="p">[</span><span class="s1">&#39;feature&#39;</span><span class="p">],</span> <span class="n">df_LGB_importance</span><span class="p">[</span><span class="s1">&#39;importance&#39;</span><span class="p">],</span> <span class="n">color</span> <span class="o">=</span> <span class="s1">&#39;green&#39;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">bar</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">bars</span><span class="p">,</span> <span class="n">df_LGB_importance</span><span class="p">[</span><span class="s1">&#39;importance&#39;</span><span class="p">]):</span>
    <span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">bar</span><span class="o">.</span><span class="n">get_width</span><span class="p">()</span> <span class="o">+</span> <span class="mf">0.01</span><span class="p">,</span> <span class="n">bar</span><span class="o">.</span><span class="n">get_y</span><span class="p">()</span> <span class="o">+</span> <span class="n">bar</span><span class="o">.</span><span class="n">get_height</span><span class="p">()</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span>
             <span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">value</span><span class="si">:</span><span class="s1">.0f</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">va</span><span class="o">=</span><span class="s1">&#39;center&#39;</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">9</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;black&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Feature Importance&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Feature Importance - LightGBM&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>The following table shows the top 5 most important variables.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_LGB_importance</span> <span class="o">=</span> <span class="n">df_LGB_importance</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">by</span> <span class="o">=</span> <span class="s1">&#39;importance&#39;</span><span class="p">,</span> <span class="n">ascending</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span>
<span class="n">df_LGB_importance</span><span class="p">[</span><span class="s1">&#39;feature&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[:</span><span class="mi">5</span><span class="p">]</span><span class="o">.</span><span class="n">to_frame</span><span class="p">()</span><span class="o">.</span><span class="n">T</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>2</th>
      <th>17</th>
      <th>0</th>
      <th>23</th>
      <th>20</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>feature</th>
      <td>daysOfSalesOutstanding</td>
      <td>cashPerShare</td>
      <td>quickRatio</td>
      <td>payablesTurnover</td>
      <td>enterpriseValueMultiple</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="5.-Other-Comments">5. Other Comments<a class="anchor-link" href="#5.-Other-Comments">&#182;</a></h2><p>Among all the models, the <code>LDA</code>,<code>QDA</code>, and <code>ordered logistic regression</code> models show relatively low performace. This section discusses on some probable reasons of it.</p>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-Outliers">(1) Outliers<a class="anchor-link" href="#(1)-Outliers">&#182;</a></h3><p>Most of the columns of numerical variables have extreme values. For example, the minimum and the values between Q1 and Q3 of the column  <code>currentRatio</code> are -0.93 and 1.07 ~ 2.16, but its maximum is <code>1725.5</code>. These outlier values are likely to distort the models' performace.</p>
<p>Especially, the <code>LDA</code> as well as <code>QDA</code> assumes the explanatory variable to follow normal distribution.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data</span><span class="o">.</span><span class="n">loc</span><span class="p">[:,</span><span class="s2">&quot;currentRatio&quot;</span><span class="p">:</span><span class="s2">&quot;payablesTurnover&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>pretaxProfitMargin</th>
      <th>grossProfitMargin</th>
      <th>operatingProfitMargin</th>
      <th>returnOnAssets</th>
      <th>returnOnCapitalEmployed</th>
      <th>...</th>
      <th>effectiveTaxRate</th>
      <th>freeCashFlowOperatingCashFlowRatio</th>
      <th>freeCashFlowPerShare</th>
      <th>cashPerShare</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>count</th>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>...</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2.029000e+03</td>
      <td>2.029000e+03</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
      <td>2.029000e+03</td>
      <td>2029.000000</td>
      <td>2029.000000</td>
    </tr>
    <tr>
      <th>mean</th>
      <td>3.529607</td>
      <td>2.653986</td>
      <td>0.667364</td>
      <td>333.795606</td>
      <td>0.278447</td>
      <td>0.431483</td>
      <td>0.497968</td>
      <td>0.587322</td>
      <td>-37.517928</td>
      <td>-73.974193</td>
      <td>...</td>
      <td>0.397572</td>
      <td>0.409550</td>
      <td>5.094719e+03</td>
      <td>4.227549e+03</td>
      <td>3.323579</td>
      <td>0.437454</td>
      <td>48.287985</td>
      <td>6.515123e+03</td>
      <td>1.447653</td>
      <td>38.002718</td>
    </tr>
    <tr>
      <th>std</th>
      <td>44.052361</td>
      <td>32.944817</td>
      <td>3.583943</td>
      <td>4447.839583</td>
      <td>6.064134</td>
      <td>8.984982</td>
      <td>0.525307</td>
      <td>11.224622</td>
      <td>1166.172220</td>
      <td>2350.275719</td>
      <td>...</td>
      <td>10.595075</td>
      <td>3.796488</td>
      <td>1.469156e+05</td>
      <td>1.224000e+05</td>
      <td>87.529866</td>
      <td>8.984299</td>
      <td>529.118961</td>
      <td>1.775290e+05</td>
      <td>19.483294</td>
      <td>758.923588</td>
    </tr>
    <tr>
      <th>min</th>
      <td>-0.932005</td>
      <td>-1.893266</td>
      <td>-0.192736</td>
      <td>-811.845623</td>
      <td>-101.845815</td>
      <td>-124.343612</td>
      <td>-14.800817</td>
      <td>-124.343612</td>
      <td>-40213.178290</td>
      <td>-87162.162160</td>
      <td>...</td>
      <td>-100.611015</td>
      <td>-120.916010</td>
      <td>-4.912742e+03</td>
      <td>-1.915035e+01</td>
      <td>-2555.419643</td>
      <td>-124.343612</td>
      <td>-3749.921337</td>
      <td>-1.195049e+04</td>
      <td>-4.461837</td>
      <td>-76.662850</td>
    </tr>
    <tr>
      <th>25%</th>
      <td>1.071930</td>
      <td>0.602825</td>
      <td>0.130630</td>
      <td>22.905093</td>
      <td>0.021006</td>
      <td>0.025649</td>
      <td>0.233127</td>
      <td>0.044610</td>
      <td>0.019176</td>
      <td>0.028112</td>
      <td>...</td>
      <td>0.146854</td>
      <td>0.271478</td>
      <td>4.119924e-01</td>
      <td>1.566038e+00</td>
      <td>2.046822</td>
      <td>0.028057</td>
      <td>6.238066</td>
      <td>2.356735e+00</td>
      <td>0.073886</td>
      <td>2.205912</td>
    </tr>
    <tr>
      <th>50%</th>
      <td>1.493338</td>
      <td>0.985679</td>
      <td>0.297493</td>
      <td>42.374120</td>
      <td>0.064753</td>
      <td>0.084965</td>
      <td>0.414774</td>
      <td>0.107895</td>
      <td>0.045608</td>
      <td>0.074421</td>
      <td>...</td>
      <td>0.300539</td>
      <td>0.644529</td>
      <td>2.131742e+00</td>
      <td>3.686513e+00</td>
      <td>2.652456</td>
      <td>0.087322</td>
      <td>9.274398</td>
      <td>4.352584e+00</td>
      <td>0.133050</td>
      <td>5.759722</td>
    </tr>
    <tr>
      <th>75%</th>
      <td>2.166891</td>
      <td>1.453820</td>
      <td>0.624906</td>
      <td>59.323563</td>
      <td>0.114807</td>
      <td>0.144763</td>
      <td>0.849693</td>
      <td>0.176181</td>
      <td>0.077468</td>
      <td>0.135036</td>
      <td>...</td>
      <td>0.370653</td>
      <td>0.836949</td>
      <td>4.230253e+00</td>
      <td>8.086152e+00</td>
      <td>3.658331</td>
      <td>0.149355</td>
      <td>12.911759</td>
      <td>7.319759e+00</td>
      <td>0.240894</td>
      <td>9.480892</td>
    </tr>
    <tr>
      <th>max</th>
      <td>1725.505005</td>
      <td>1139.541703</td>
      <td>125.917417</td>
      <td>115961.637400</td>
      <td>198.517873</td>
      <td>309.694856</td>
      <td>2.702533</td>
      <td>410.182214</td>
      <td>0.487826</td>
      <td>2.439504</td>
      <td>...</td>
      <td>429.926282</td>
      <td>34.594086</td>
      <td>5.753380e+06</td>
      <td>4.786803e+06</td>
      <td>2562.871795</td>
      <td>309.694856</td>
      <td>11153.607090</td>
      <td>6.439270e+06</td>
      <td>688.526591</td>
      <td>20314.880400</td>
    </tr>
  </tbody>
</table>
<p>8 rows × 25 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-Multicollinearity">(2) Multicollinearity<a class="anchor-link" href="#(2)-Multicollinearity">&#182;</a></h3><p>If there is multicollinearity between covariances, this would lead to poor performance of forecasting. The following table shows the correlations of all variables.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cor_rate_data_correlation</span> <span class="o">=</span> <span class="n">cor_rate_data</span><span class="o">.</span><span class="n">loc</span><span class="p">[:,</span><span class="s2">&quot;currentRatio&quot;</span><span class="p">:</span><span class="s2">&quot;payablesTurnover&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">corr</span><span class="p">()</span>
<span class="n">cor_rate_data_correlation</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>currentRatio</th>
      <th>quickRatio</th>
      <th>cashRatio</th>
      <th>daysOfSalesOutstanding</th>
      <th>netProfitMargin</th>
      <th>pretaxProfitMargin</th>
      <th>grossProfitMargin</th>
      <th>operatingProfitMargin</th>
      <th>returnOnAssets</th>
      <th>returnOnCapitalEmployed</th>
      <th>...</th>
      <th>effectiveTaxRate</th>
      <th>freeCashFlowOperatingCashFlowRatio</th>
      <th>freeCashFlowPerShare</th>
      <th>cashPerShare</th>
      <th>companyEquityMultiplier</th>
      <th>ebitPerRevenue</th>
      <th>enterpriseValueMultiple</th>
      <th>operatingCashFlowPerShare</th>
      <th>operatingCashFlowSalesRatio</th>
      <th>payablesTurnover</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>currentRatio</th>
      <td>1.000000</td>
      <td>0.104329</td>
      <td>0.736042</td>
      <td>0.000020</td>
      <td>0.003561</td>
      <td>-0.002453</td>
      <td>0.067326</td>
      <td>-0.001224</td>
      <td>0.001623</td>
      <td>0.001583</td>
      <td>...</td>
      <td>-0.026461</td>
      <td>0.005863</td>
      <td>-0.001307</td>
      <td>-0.001266</td>
      <td>0.000118</td>
      <td>-0.002489</td>
      <td>-0.002013</td>
      <td>-0.001453</td>
      <td>-0.001439</td>
      <td>-0.002160</td>
    </tr>
    <tr>
      <th>quickRatio</th>
      <td>0.104329</td>
      <td>1.000000</td>
      <td>0.125848</td>
      <td>0.736630</td>
      <td>-0.001931</td>
      <td>-0.002208</td>
      <td>-0.028343</td>
      <td>-0.001820</td>
      <td>0.001539</td>
      <td>0.001508</td>
      <td>...</td>
      <td>-0.003940</td>
      <td>0.001713</td>
      <td>-0.001427</td>
      <td>-0.000929</td>
      <td>-0.000365</td>
      <td>-0.002241</td>
      <td>-0.002843</td>
      <td>-0.001587</td>
      <td>-0.001453</td>
      <td>-0.001759</td>
    </tr>
    <tr>
      <th>cashRatio</th>
      <td>0.736042</td>
      <td>0.125848</td>
      <td>1.000000</td>
      <td>0.006616</td>
      <td>-0.007936</td>
      <td>-0.006837</td>
      <td>-0.050355</td>
      <td>-0.000723</td>
      <td>0.003326</td>
      <td>0.003280</td>
      <td>...</td>
      <td>-0.024406</td>
      <td>-0.013719</td>
      <td>-0.001778</td>
      <td>-0.001652</td>
      <td>-0.001883</td>
      <td>-0.006883</td>
      <td>-0.007945</td>
      <td>-0.002293</td>
      <td>0.004459</td>
      <td>-0.006915</td>
    </tr>
    <tr>
      <th>daysOfSalesOutstanding</th>
      <td>0.000020</td>
      <td>0.736630</td>
      <td>0.006616</td>
      <td>1.000000</td>
      <td>0.262299</td>
      <td>0.278222</td>
      <td>-0.068181</td>
      <td>0.291002</td>
      <td>0.002416</td>
      <td>0.002364</td>
      <td>...</td>
      <td>-0.000926</td>
      <td>0.003267</td>
      <td>-0.002155</td>
      <td>-0.000834</td>
      <td>-0.000242</td>
      <td>0.278204</td>
      <td>-0.019808</td>
      <td>-0.002283</td>
      <td>0.406126</td>
      <td>-0.003026</td>
    </tr>
    <tr>
      <th>netProfitMargin</th>
      <td>0.003561</td>
      <td>-0.001931</td>
      <td>-0.007936</td>
      <td>0.262299</td>
      <td>1.000000</td>
      <td>0.991241</td>
      <td>-0.099540</td>
      <td>0.971483</td>
      <td>0.001577</td>
      <td>0.001535</td>
      <td>...</td>
      <td>0.001500</td>
      <td>-0.004830</td>
      <td>-0.000708</td>
      <td>-0.000716</td>
      <td>-0.001185</td>
      <td>0.991185</td>
      <td>-0.003665</td>
      <td>-0.000779</td>
      <td>0.785592</td>
      <td>-0.001681</td>
    </tr>
    <tr>
      <th>pretaxProfitMargin</th>
      <td>-0.002453</td>
      <td>-0.002208</td>
      <td>-0.006837</td>
      <td>0.278222</td>
      <td>0.991241</td>
      <td>1.000000</td>
      <td>-0.135662</td>
      <td>0.992001</td>
      <td>0.001637</td>
      <td>0.001598</td>
      <td>...</td>
      <td>-0.000097</td>
      <td>-0.005518</td>
      <td>-0.000976</td>
      <td>-0.000977</td>
      <td>-0.001148</td>
      <td>0.999975</td>
      <td>-0.003867</td>
      <td>-0.001080</td>
      <td>0.831778</td>
      <td>-0.001760</td>
    </tr>
    <tr>
      <th>grossProfitMargin</th>
      <td>0.067326</td>
      <td>-0.028343</td>
      <td>-0.050355</td>
      <td>-0.068181</td>
      <td>-0.099540</td>
      <td>-0.135662</td>
      <td>1.000000</td>
      <td>-0.121829</td>
      <td>-0.030745</td>
      <td>-0.030128</td>
      <td>...</td>
      <td>0.018387</td>
      <td>0.016868</td>
      <td>0.012775</td>
      <td>0.012781</td>
      <td>0.010026</td>
      <td>-0.135715</td>
      <td>-0.008007</td>
      <td>0.011131</td>
      <td>-0.105564</td>
      <td>0.034244</td>
    </tr>
    <tr>
      <th>operatingProfitMargin</th>
      <td>-0.001224</td>
      <td>-0.001820</td>
      <td>-0.000723</td>
      <td>0.291002</td>
      <td>0.971483</td>
      <td>0.992001</td>
      <td>-0.121829</td>
      <td>1.000000</td>
      <td>0.001675</td>
      <td>0.001634</td>
      <td>...</td>
      <td>0.000173</td>
      <td>-0.005949</td>
      <td>-0.001205</td>
      <td>-0.001205</td>
      <td>-0.000962</td>
      <td>0.992018</td>
      <td>-0.003699</td>
      <td>-0.001305</td>
      <td>0.871686</td>
      <td>-0.002042</td>
    </tr>
    <tr>
      <th>returnOnAssets</th>
      <td>0.001623</td>
      <td>0.001539</td>
      <td>0.003326</td>
      <td>0.002416</td>
      <td>0.001577</td>
      <td>0.001637</td>
      <td>-0.030745</td>
      <td>0.001675</td>
      <td>1.000000</td>
      <td>0.995426</td>
      <td>...</td>
      <td>0.001214</td>
      <td>0.029072</td>
      <td>-0.001283</td>
      <td>0.001115</td>
      <td>0.002629</td>
      <td>0.001659</td>
      <td>0.002742</td>
      <td>0.002275</td>
      <td>0.002385</td>
      <td>0.001616</td>
    </tr>
    <tr>
      <th>returnOnCapitalEmployed</th>
      <td>0.001583</td>
      <td>0.001508</td>
      <td>0.003280</td>
      <td>0.002364</td>
      <td>0.001535</td>
      <td>0.001598</td>
      <td>-0.030128</td>
      <td>0.001634</td>
      <td>0.995426</td>
      <td>1.000000</td>
      <td>...</td>
      <td>0.001183</td>
      <td>0.029901</td>
      <td>-0.001162</td>
      <td>0.001090</td>
      <td>0.002559</td>
      <td>0.001619</td>
      <td>0.002883</td>
      <td>0.002145</td>
      <td>0.002334</td>
      <td>0.001581</td>
    </tr>
    <tr>
      <th>returnOnEquity</th>
      <td>-0.001644</td>
      <td>-0.001562</td>
      <td>-0.003402</td>
      <td>-0.002444</td>
      <td>-0.001554</td>
      <td>-0.001623</td>
      <td>0.031101</td>
      <td>-0.001669</td>
      <td>-0.995371</td>
      <td>-0.981650</td>
      <td>...</td>
      <td>-0.001216</td>
      <td>-0.027981</td>
      <td>0.001368</td>
      <td>-0.001147</td>
      <td>-0.002498</td>
      <td>-0.001644</td>
      <td>-0.002975</td>
      <td>-0.002419</td>
      <td>-0.002412</td>
      <td>-0.001628</td>
    </tr>
    <tr>
      <th>assetTurnover</th>
      <td>-0.001951</td>
      <td>-0.001854</td>
      <td>-0.003991</td>
      <td>-0.002887</td>
      <td>-0.001831</td>
      <td>-0.001909</td>
      <td>0.036758</td>
      <td>-0.001974</td>
      <td>-0.822513</td>
      <td>-0.802676</td>
      <td>...</td>
      <td>-0.001444</td>
      <td>-0.022836</td>
      <td>0.000736</td>
      <td>-0.001329</td>
      <td>-0.003321</td>
      <td>-0.001934</td>
      <td>-0.003633</td>
      <td>-0.002390</td>
      <td>-0.002834</td>
      <td>-0.001926</td>
    </tr>
    <tr>
      <th>fixedAssetTurnover</th>
      <td>-0.001944</td>
      <td>-0.001845</td>
      <td>-0.003940</td>
      <td>-0.002884</td>
      <td>-0.001830</td>
      <td>-0.001907</td>
      <td>0.036731</td>
      <td>-0.001973</td>
      <td>-0.810064</td>
      <td>-0.788302</td>
      <td>...</td>
      <td>-0.001442</td>
      <td>-0.022273</td>
      <td>0.000733</td>
      <td>-0.001328</td>
      <td>-0.003324</td>
      <td>-0.001933</td>
      <td>-0.003634</td>
      <td>-0.002395</td>
      <td>-0.002834</td>
      <td>-0.001925</td>
    </tr>
    <tr>
      <th>debtEquityRatio</th>
      <td>0.000093</td>
      <td>-0.000366</td>
      <td>-0.001877</td>
      <td>-0.000231</td>
      <td>-0.001183</td>
      <td>-0.001149</td>
      <td>0.010051</td>
      <td>-0.000964</td>
      <td>0.002262</td>
      <td>0.002200</td>
      <td>...</td>
      <td>0.003429</td>
      <td>0.000507</td>
      <td>-0.012039</td>
      <td>-0.009003</td>
      <td>0.999995</td>
      <td>-0.001148</td>
      <td>0.010820</td>
      <td>-0.015896</td>
      <td>-0.000781</td>
      <td>-0.000212</td>
    </tr>
    <tr>
      <th>debtRatio</th>
      <td>0.005856</td>
      <td>0.002901</td>
      <td>-0.008638</td>
      <td>0.001022</td>
      <td>-0.022625</td>
      <td>-0.024115</td>
      <td>0.018127</td>
      <td>-0.024509</td>
      <td>-0.051972</td>
      <td>-0.051081</td>
      <td>...</td>
      <td>-0.001024</td>
      <td>-0.058294</td>
      <td>-0.011503</td>
      <td>-0.013107</td>
      <td>0.007100</td>
      <td>-0.024150</td>
      <td>0.051639</td>
      <td>-0.004820</td>
      <td>-0.021119</td>
      <td>-0.004237</td>
    </tr>
    <tr>
      <th>effectiveTaxRate</th>
      <td>-0.026461</td>
      <td>-0.003940</td>
      <td>-0.024406</td>
      <td>-0.000926</td>
      <td>0.001500</td>
      <td>-0.000097</td>
      <td>0.018387</td>
      <td>0.000173</td>
      <td>0.001214</td>
      <td>0.001183</td>
      <td>...</td>
      <td>1.000000</td>
      <td>0.005496</td>
      <td>-0.001528</td>
      <td>-0.001562</td>
      <td>0.003449</td>
      <td>-0.000029</td>
      <td>-0.004558</td>
      <td>-0.001771</td>
      <td>-0.000724</td>
      <td>-0.000206</td>
    </tr>
    <tr>
      <th>freeCashFlowOperatingCashFlowRatio</th>
      <td>0.005863</td>
      <td>0.001713</td>
      <td>-0.013719</td>
      <td>0.003267</td>
      <td>-0.004830</td>
      <td>-0.005518</td>
      <td>0.016868</td>
      <td>-0.005949</td>
      <td>0.029072</td>
      <td>0.029901</td>
      <td>...</td>
      <td>0.005496</td>
      <td>1.000000</td>
      <td>0.003497</td>
      <td>0.003662</td>
      <td>0.000510</td>
      <td>-0.005449</td>
      <td>-0.002982</td>
      <td>0.003602</td>
      <td>-0.003585</td>
      <td>-0.003625</td>
    </tr>
    <tr>
      <th>freeCashFlowPerShare</th>
      <td>-0.001307</td>
      <td>-0.001427</td>
      <td>-0.001778</td>
      <td>-0.002155</td>
      <td>-0.000708</td>
      <td>-0.000976</td>
      <td>0.012775</td>
      <td>-0.001205</td>
      <td>-0.001283</td>
      <td>-0.001162</td>
      <td>...</td>
      <td>-0.001528</td>
      <td>0.003497</td>
      <td>1.000000</td>
      <td>0.997277</td>
      <td>-0.012076</td>
      <td>-0.000999</td>
      <td>-0.003156</td>
      <td>0.992371</td>
      <td>-0.002066</td>
      <td>-0.001476</td>
    </tr>
    <tr>
      <th>cashPerShare</th>
      <td>-0.001266</td>
      <td>-0.000929</td>
      <td>-0.001652</td>
      <td>-0.000834</td>
      <td>-0.000716</td>
      <td>-0.000977</td>
      <td>0.012781</td>
      <td>-0.001205</td>
      <td>0.001115</td>
      <td>0.001090</td>
      <td>...</td>
      <td>-0.001562</td>
      <td>0.003662</td>
      <td>0.997277</td>
      <td>1.000000</td>
      <td>-0.009027</td>
      <td>-0.001000</td>
      <td>-0.003172</td>
      <td>0.986459</td>
      <td>-0.001514</td>
      <td>-0.001281</td>
    </tr>
    <tr>
      <th>companyEquityMultiplier</th>
      <td>0.000118</td>
      <td>-0.000365</td>
      <td>-0.001883</td>
      <td>-0.000242</td>
      <td>-0.001185</td>
      <td>-0.001148</td>
      <td>0.010026</td>
      <td>-0.000962</td>
      <td>0.002629</td>
      <td>0.002559</td>
      <td>...</td>
      <td>0.003449</td>
      <td>0.000510</td>
      <td>-0.012076</td>
      <td>-0.009027</td>
      <td>1.000000</td>
      <td>-0.001146</td>
      <td>0.010804</td>
      <td>-0.015945</td>
      <td>-0.000804</td>
      <td>-0.000207</td>
    </tr>
    <tr>
      <th>ebitPerRevenue</th>
      <td>-0.002489</td>
      <td>-0.002241</td>
      <td>-0.006883</td>
      <td>0.278204</td>
      <td>0.991185</td>
      <td>0.999975</td>
      <td>-0.135715</td>
      <td>0.992018</td>
      <td>0.001659</td>
      <td>0.001619</td>
      <td>...</td>
      <td>-0.000029</td>
      <td>-0.005449</td>
      <td>-0.000999</td>
      <td>-0.001000</td>
      <td>-0.001146</td>
      <td>1.000000</td>
      <td>-0.003925</td>
      <td>-0.001104</td>
      <td>0.831789</td>
      <td>-0.001790</td>
    </tr>
    <tr>
      <th>enterpriseValueMultiple</th>
      <td>-0.002013</td>
      <td>-0.002843</td>
      <td>-0.007945</td>
      <td>-0.019808</td>
      <td>-0.003665</td>
      <td>-0.003867</td>
      <td>-0.008007</td>
      <td>-0.003699</td>
      <td>0.002742</td>
      <td>0.002883</td>
      <td>...</td>
      <td>-0.004558</td>
      <td>-0.002982</td>
      <td>-0.003156</td>
      <td>-0.003172</td>
      <td>0.010804</td>
      <td>-0.003925</td>
      <td>1.000000</td>
      <td>-0.003337</td>
      <td>-0.005003</td>
      <td>-0.001183</td>
    </tr>
    <tr>
      <th>operatingCashFlowPerShare</th>
      <td>-0.001453</td>
      <td>-0.001587</td>
      <td>-0.002293</td>
      <td>-0.002283</td>
      <td>-0.000779</td>
      <td>-0.001080</td>
      <td>0.011131</td>
      <td>-0.001305</td>
      <td>0.002275</td>
      <td>0.002145</td>
      <td>...</td>
      <td>-0.001771</td>
      <td>0.003602</td>
      <td>0.992371</td>
      <td>0.986459</td>
      <td>-0.015945</td>
      <td>-0.001104</td>
      <td>-0.003337</td>
      <td>1.000000</td>
      <td>-0.002220</td>
      <td>-0.000302</td>
    </tr>
    <tr>
      <th>operatingCashFlowSalesRatio</th>
      <td>-0.001439</td>
      <td>-0.001453</td>
      <td>0.004459</td>
      <td>0.406126</td>
      <td>0.785592</td>
      <td>0.831778</td>
      <td>-0.105564</td>
      <td>0.871686</td>
      <td>0.002385</td>
      <td>0.002334</td>
      <td>...</td>
      <td>-0.000724</td>
      <td>-0.003585</td>
      <td>-0.002066</td>
      <td>-0.001514</td>
      <td>-0.000804</td>
      <td>0.831789</td>
      <td>-0.005003</td>
      <td>-0.002220</td>
      <td>1.000000</td>
      <td>-0.003337</td>
    </tr>
    <tr>
      <th>payablesTurnover</th>
      <td>-0.002160</td>
      <td>-0.001759</td>
      <td>-0.006915</td>
      <td>-0.003026</td>
      <td>-0.001681</td>
      <td>-0.001760</td>
      <td>0.034244</td>
      <td>-0.002042</td>
      <td>0.001616</td>
      <td>0.001581</td>
      <td>...</td>
      <td>-0.000206</td>
      <td>-0.003625</td>
      <td>-0.001476</td>
      <td>-0.001281</td>
      <td>-0.000207</td>
      <td>-0.001790</td>
      <td>-0.001183</td>
      <td>-0.000302</td>
      <td>-0.003337</td>
      <td>1.000000</td>
    </tr>
  </tbody>
</table>
<p>25 rows × 25 columns</p>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>The following image plot visualizes the correlation between each variables. This shows that there are some variables that have strong correlation (whether positive or negative) with other ones. For example, <code>netProfitMargin</code> column has strong correlation with <code>pretaxProfitMargin</code> (0.991241), <code>operatingProfitMargin</code> (0.971483), <code>ebitPerRevenue</code> (0.991185), and <code>operatingCashFlowSalesRatio</code> (0.785592).</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">16</span><span class="p">,</span> <span class="mi">12</span><span class="p">))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">cor_rate_data_correlation</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="s1">&#39;coolwarm&#39;</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s1">&#39;none&#39;</span><span class="p">,</span> <span class="n">aspect</span><span class="o">=</span><span class="s1">&#39;auto&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s1">&#39;Correlation Coefficient&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xticks</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cor_rate_data_correlation</span><span class="o">.</span><span class="n">index</span><span class="p">)),</span> <span class="n">cor_rate_data_correlation</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">rotation</span><span class="o">=</span><span class="mi">90</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cor_rate_data_correlation</span><span class="o">.</span><span class="n">index</span><span class="p">)),</span> <span class="n">cor_rate_data_correlation</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">&quot;Correlation Matrix&quot;</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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
"
class="
jp-needs-light-background
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>This multicollinearity has severe impact on <code>QDA</code>, because <code>QDA</code> relies on the covariance matrices of the classes. Also, the multicollinearity can cause the <code>ordered logistic model</code> to fail to converge, leading to unreliable estimates.</p>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="6.-Conclusion">6. Conclusion<a class="anchor-link" href="#6.-Conclusion">&#182;</a></h2><p>The models based on gradient boosting, including <code>LightGBM</code> and <code>XGBoost</code>, as well as <code>Random Forest</code>, have the best performance of forecasting the ratings of corporate credit, without dealing with outliers and multicollinearity. If such methods as <code>LDA</code> and <code>Ordered Logistic Regression</code> are necessary, handling the outliers (i.e., treating them as missing values) and deleting columns with high correlation would lead to higher performance than before.</p>

</div>
</div>
</div>
</div>
</body>







</html>

</div>]]></content><author><name>Han Jun Ko</name></author><category term="Industrial Academic Cooperation Big Data Analysis" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">Marketing Data Analysis</title><link href="https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/" rel="alternate" type="text/html" title="Marketing Data Analysis" /><published>2025-01-01T23:50:00+00:00</published><updated>2025-01-01T23:50:00+00:00</updated><id>https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market</id><content type="html" xml:base="https://jason1ko.github.io/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<!DOCTYPE html>
<html>

  <body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">

<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="0.-Purpose-of-the-Project">0. Purpose of the Project<a class="anchor-link" href="#0.-Purpose-of-the-Project">&#182;</a></h2><p>This analysis uses real-world data provided by a digital advertising agency, who shared an anonymized version of the dataset they are actively analyzing, with the goal of proposing more effective marketing strategies based on actual customer behavior. The dataset (available at <a href="https://drive.google.com/file/d/1fnk_kikjzFStVALSCmxYWHz-gWOyjCmL/view" target="_blank" rel="noopener noreferrer">this link</a>) contains detailed event logs from an online shopping mall, including visit timestamps, advertising media, device type, and purchase-related actions. Using this data, we construct user-level features from raw logs, compare conversion performance across media and devices, segment customers via K-means clustering, and model cart-stage conversion with logistic regression, ultimately deriving actionable insights for retargeting, onboarding, and loyalty-focused campaigns.</p>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="1.-Intro">1. Intro<a class="anchor-link" href="#1.-Intro">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>In this project, we work with an online shopping mall visit dataset that records each customer’s interactions with the site. The data <code>eMFORCE_GA_yonsei.csv</code> include information such as purchase counts, purchase amounts, visit timestamps, advertising media, and behavioral event types (event_name). Using these variables, we aim to analyze which factors influence customers’ purchasing activities and to classify customers into groups based on their purchase patterns.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">&quot;eMFORCE_GA_yonsei.csv&quot;</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;euc-kr&#39;</span><span class="p">)</span>
<span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>event_date</th>
      <th>user_pseudo_id</th>
      <th>event_timestamp</th>
      <th>event_name</th>
      <th>purchase_value</th>
      <th>device</th>
      <th>media</th>
      <th>type</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>20241206</td>
      <td>1.000002e+09</td>
      <td>2024-12-06 12:27:01.140054+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>criteo</td>
      <td>광고</td>
    </tr>
    <tr>
      <th>1</th>
      <td>20241216</td>
      <td>1.000004e+09</td>
      <td>2024-12-15 15:48:17.412486+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>referral</td>
      <td>비광고</td>
    </tr>
    <tr>
      <th>2</th>
      <td>20241012</td>
      <td>1.000006e+09</td>
      <td>2024-10-12 08:12:44.957241+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>organic</td>
      <td>비광고</td>
    </tr>
    <tr>
      <th>3</th>
      <td>20241221</td>
      <td>1.000009e+09</td>
      <td>2024-12-20 22:00:06.601354+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>naver_bs</td>
      <td>광고</td>
    </tr>
    <tr>
      <th>4</th>
      <td>20240710</td>
      <td>1.000012e+09</td>
      <td>2024-07-10 13:59:21.352197+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>not set</td>
      <td>비광고</td>
    </tr>
    <tr>
      <th>5</th>
      <td>20240817</td>
      <td>1.000024e+09</td>
      <td>2024-08-16 17:24:35.989460+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>RTB</td>
      <td>광고</td>
    </tr>
    <tr>
      <th>6</th>
      <td>20241115</td>
      <td>1.000028e+09</td>
      <td>2024-11-15 04:54:52.075057+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>direct</td>
      <td>비광고</td>
    </tr>
    <tr>
      <th>7</th>
      <td>20241124</td>
      <td>1.000028e+09</td>
      <td>2024-11-24 06:23:23.606165+00:00</td>
      <td>session_start</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>referral</td>
      <td>비광고</td>
    </tr>
    <tr>
      <th>8</th>
      <td>20241125</td>
      <td>1.000028e+09</td>
      <td>2024-11-25 06:13:43.886572+00:00</td>
      <td>session_start</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>referral</td>
      <td>비광고</td>
    </tr>
    <tr>
      <th>9</th>
      <td>20240723</td>
      <td>1.000034e+09</td>
      <td>2024-07-23 08:31:43.145137+00:00</td>
      <td>first_visit</td>
      <td>NaN</td>
      <td>desktop</td>
      <td>naver_bs</td>
      <td>광고</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">info</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>&lt;class &#39;pandas.core.frame.DataFrame&#39;&gt;
RangeIndex: 25597319 entries, 0 to 25597318
Data columns (total 8 columns):
 #   Column           Dtype  
---  ------           -----  
 0   event_date       int64  
 1   user_pseudo_id   float64
 2   event_timestamp  object 
 3   event_name       object 
 4   purchase_value   float64
 5   device           object 
 6   media            object 
 7   type             object 
dtypes: float64(2), int64(1), object(5)
memory usage: 1.5+ GB
</pre>
</div>
</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>




<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
<pre>type
광고     18782137
비광고     6815182
Name: count, dtype: int64</pre>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;media&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>




<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
<pre>media
criteo                       5391896
advertiser_apppush           4980346
direct                       3655698
kakao_alimtok                2443547
not set                      2048257
RTB                          1734349
advertiser_sms                932248
organic                       636282
kakao_dm                      594582
TOSS                          523974
referral                      474945
ADN                           468558
naver_bs                      365534
advertiser_affiliate          352999
advertiser_homeshopping       290720
naver_search                  268378
advertiser_ars                113569
instagram                      89736
facebook                       79828
google_DA                      45418
kakao_share                    41636
payco                          34540
google_SA                       9827
advertiser_tv                   7388
advertiser_braze                4328
appier                          3801
kakao_SA                        3634
advertiser_naver                 728
advertiser_wondershopping        573
Name: count, dtype: int64</pre>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;device&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>




<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
<pre>device
mobile     24807072
desktop      790247
Name: count, dtype: int64</pre>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;event_name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>




<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
<pre>event_name
session_start     15710066
first_visit        3803531
begin_checkout     3720879
purchase            987648
add_to_cart         846926
login               491079
회원가입완료               37190
Name: count, dtype: int64</pre>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>event_date</th>
      <th>user_pseudo_id</th>
      <th>purchase_value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>count</th>
      <td>2.559732e+07</td>
      <td>2.559732e+07</td>
      <td>9.876480e+05</td>
    </tr>
    <tr>
      <th>mean</th>
      <td>2.024098e+07</td>
      <td>1.070312e+09</td>
      <td>5.317989e+04</td>
    </tr>
    <tr>
      <th>std</th>
      <td>1.719961e+02</td>
      <td>6.212570e+08</td>
      <td>5.670244e+04</td>
    </tr>
    <tr>
      <th>min</th>
      <td>2.024070e+07</td>
      <td>1.817237e+01</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>25%</th>
      <td>2.024082e+07</td>
      <td>5.302507e+08</td>
      <td>2.990000e+04</td>
    </tr>
    <tr>
      <th>50%</th>
      <td>2.024100e+07</td>
      <td>1.072703e+09</td>
      <td>4.111000e+04</td>
    </tr>
    <tr>
      <th>75%</th>
      <td>2.024112e+07</td>
      <td>1.609010e+09</td>
      <td>5.997000e+04</td>
    </tr>
    <tr>
      <th>max</th>
      <td>2.024123e+07</td>
      <td>2.147484e+09</td>
      <td>6.278400e+06</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="2.-Data-Preprocessing">2. Data Preprocessing<a class="anchor-link" href="#2.-Data-Preprocessing">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-row-:-id-&amp;-col-:-event-names,-media,-device">(1) row : id &amp; col : event names, media, device<a class="anchor-link" href="#(1)-row-:-id-&amp;-col-:-event-names,-media,-device">&#182;</a></h3>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>We transforms the raw log-level access records into a user-level dataset. First, we create a crosstab so that each row corresponds to a user and each column represents an event_name, summarizing how often each event occurs for that user. Then, for each user, we extract their most frequently used media channel and device. These variables, together with a later-defined purchase conversion indicator (converted), will form a structured table where each user is described by their main media, device, and event-based behavior.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># One-hot encoding</span>
<span class="n">pivot</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">crosstab</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">],</span> <span class="n">df</span><span class="p">[</span><span class="s1">&#39;event_name&#39;</span><span class="p">])</span>
<span class="c1"># each users most frequently used media</span>
<span class="n">media</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">)[</span><span class="s1">&#39;media&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">agg</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">idxmax</span><span class="p">())</span>
<span class="c1"># each users most frequently used device</span>
<span class="n">device</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">)[</span><span class="s1">&#39;device&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">agg</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">idxmax</span><span class="p">())</span>
</pre></div>

     </div>
</div>
</div>
</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>This code merges the event-based features with each user’s main media and device to create a single user-level table. It then defines a binary conversion variable, converted, which is set to 1 if the user has at least one purchase event and 0 otherwise, and displays the first five rows of the resulting dataset.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">user_df</span> <span class="o">=</span> <span class="n">pivot</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">media</span><span class="p">,</span> <span class="n">left_index</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">right_index</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">user_df</span> <span class="o">=</span> <span class="n">user_df</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">device</span><span class="p">,</span> <span class="n">left_index</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">right_index</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;converted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;purchase&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span>
<span class="n">user_df</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>add_to_cart</th>
      <th>begin_checkout</th>
      <th>first_visit</th>
      <th>login</th>
      <th>purchase</th>
      <th>session_start</th>
      <th>회원가입완료</th>
      <th>media</th>
      <th>device</th>
      <th>converted</th>
    </tr>
    <tr>
      <th>user_pseudo_id</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>18.172369</th>
      <td>0</td>
      <td>21</td>
      <td>1</td>
      <td>1</td>
      <td>17</td>
      <td>93</td>
      <td>0</td>
      <td>advertiser_apppush</td>
      <td>mobile</td>
      <td>1</td>
    </tr>
    <tr>
      <th>23.172043</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>not set</td>
      <td>mobile</td>
      <td>0</td>
    </tr>
    <tr>
      <th>1298.162548</th>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>2</td>
      <td>0</td>
      <td>direct</td>
      <td>mobile</td>
      <td>0</td>
    </tr>
    <tr>
      <th>1678.173362</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>kakao_dm</td>
      <td>mobile</td>
      <td>0</td>
    </tr>
    <tr>
      <th>2574.172079</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>3</td>
      <td>0</td>
      <td>criteo</td>
      <td>mobile</td>
      <td>0</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-time">(2) time<a class="anchor-link" href="#(2)-time">&#182;</a></h3>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>Now, we calculates how long each user stayed on the site in total by defining and aggregating sessions. First, it converts <code>event_timestamp</code> to a proper datetime format and sorts all records by user and time. Then, for each user, it computes the time difference between consecutive events and starts a new session whenever the gap exceeds 24 hours (or when there is no previous event). Using these session IDs, it measures each session’s duration as the difference between the first and last timestamp. Finally, it sums the session durations for each user to obtain <code>total_stay_time_sec</code>, and displays the first 10 users’ results.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># convert event_timestamp to datetime format</span>
<span class="n">df</span><span class="p">[</span><span class="s1">&#39;event_timestamp&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s1">&#39;event_timestamp&#39;</span><span class="p">],</span> <span class="nb">format</span><span class="o">=</span><span class="s1">&#39;mixed&#39;</span><span class="p">)</span>

<span class="c1"># sort data by user</span>
<span class="n">df_sample_sorted</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">by</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">,</span> <span class="s1">&#39;event_timestamp&#39;</span><span class="p">])</span>

<span class="c1"># define sessions: if the gap is more than 24 hours, start a new session</span>
<span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;prev_time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">df_sample_sorted</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">)[</span><span class="s1">&#39;event_timestamp&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">shift</span><span class="p">()</span>
<span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;time_diff&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;event_timestamp&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;prev_time&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">dt</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span>

<span class="c1"># session ID: mark a new session when the gap is at least 1 day (86,400 seconds)</span>
<span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;new_session&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;time_diff&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">86400</span><span class="p">)</span> <span class="o">|</span> <span class="p">(</span><span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;time_diff&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">isna</span><span class="p">())</span>
<span class="n">df_sample_sorted</span><span class="p">[</span><span class="s1">&#39;session_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">df_sample_sorted</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">)[</span><span class="s1">&#39;new_session&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">cumsum</span><span class="p">()</span>

<span class="c1"># session duration: last timestamp - first timestamp</span>
<span class="n">session_time</span> <span class="o">=</span> <span class="n">df_sample_sorted</span><span class="o">.</span><span class="n">groupby</span><span class="p">([</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">,</span> <span class="s1">&#39;session_id&#39;</span><span class="p">])[</span><span class="s1">&#39;event_timestamp&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">agg</span><span class="p">([</span><span class="s1">&#39;min&#39;</span><span class="p">,</span> <span class="s1">&#39;max&#39;</span><span class="p">])</span>
<span class="n">session_time</span><span class="p">[</span><span class="s1">&#39;session_duration&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">session_time</span><span class="p">[</span><span class="s1">&#39;max&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="n">session_time</span><span class="p">[</span><span class="s1">&#39;min&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">dt</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span>

<span class="c1"># compute total stay time per user</span>
<span class="n">total_session_time</span> <span class="o">=</span> <span class="n">session_time</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">)[</span><span class="s1">&#39;session_duration&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span><span class="o">.</span><span class="n">reset_index</span><span class="p">()</span>
<span class="n">total_session_time</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">,</span> <span class="s1">&#39;total_stay_time_sec&#39;</span><span class="p">]</span>

<span class="n">total_session_time</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>user_pseudo_id</th>
      <th>total_stay_time_sec</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>18.172369</td>
      <td>2.066662e+06</td>
    </tr>
    <tr>
      <th>1</th>
      <td>23.172043</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>2</th>
      <td>1298.162548</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>3</th>
      <td>1678.173362</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>4</th>
      <td>2574.172079</td>
      <td>1.302182e+04</td>
    </tr>
    <tr>
      <th>5</th>
      <td>2784.172733</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>6</th>
      <td>3482.172334</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>7</th>
      <td>3614.173000</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>8</th>
      <td>3877.172713</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>9</th>
      <td>4281.172137</td>
      <td>3.981211e+03</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>This code sets user_pseudo_id as the index of the total session time table and then left-joins it to user_df so that each user’s total stay time (<code>total_stay_time_sec</code>) is added as a new column to the user-level dataset.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">total_session_time</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s1">&#39;user_pseudo_id&#39;</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">user_df</span> <span class="o">=</span> <span class="n">user_df</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">total_session_time</span><span class="p">,</span> <span class="n">left_index</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">right_index</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">how</span><span class="o">=</span><span class="s1">&#39;left&#39;</span><span class="p">)</span>

<span class="n">user_df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>add_to_cart</th>
      <th>begin_checkout</th>
      <th>first_visit</th>
      <th>login</th>
      <th>purchase</th>
      <th>session_start</th>
      <th>회원가입완료</th>
      <th>media</th>
      <th>device</th>
      <th>converted</th>
      <th>total_stay_time_sec</th>
    </tr>
    <tr>
      <th>user_pseudo_id</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>18.172369</th>
      <td>0</td>
      <td>21</td>
      <td>1</td>
      <td>1</td>
      <td>17</td>
      <td>93</td>
      <td>0</td>
      <td>advertiser_apppush</td>
      <td>mobile</td>
      <td>1</td>
      <td>2.066662e+06</td>
    </tr>
    <tr>
      <th>23.172043</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>not set</td>
      <td>mobile</td>
      <td>0</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>1298.162548</th>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>2</td>
      <td>0</td>
      <td>direct</td>
      <td>mobile</td>
      <td>0</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>1678.173362</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>kakao_dm</td>
      <td>mobile</td>
      <td>0</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>2574.172079</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>3</td>
      <td>0</td>
      <td>criteo</td>
      <td>mobile</td>
      <td>0</td>
      <td>1.302182e+04</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="3.-Conversion-rate-per-media">3. Conversion rate per media<a class="anchor-link" href="#3.-Conversion-rate-per-media">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>In this section, we examine how conversion performance differs across advertising media. By grouping users by <code>media</code> and calculating the mean of the binary <code>converted</code> variable, we obtain the conversion rate for each channel and sort them in descending order to see which media sources are most effective at driving purchases. We broadly divided them into four groups and analyzed the characteristics of each group.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">conv_rate_media</span> <span class="o">=</span> <span class="n">user_df</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;media&#39;</span><span class="p">)[</span><span class="s1">&#39;converted&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mean</span><span class="p">()</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">ascending</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
<span class="n">conv_rate_media</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>




<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain">
<pre>media
advertiser_apppush           0.577218
advertiser_braze             0.359855
direct                       0.231584
advertiser_naver             0.201439
advertiser_homeshopping      0.198375
RTB                          0.175623
advertiser_sms               0.149249
advertiser_tv                0.145849
advertiser_affiliate         0.140076
advertiser_ars               0.117240
naver_bs                     0.116568
kakao_alimtok                0.116206
payco                        0.086591
not set                      0.084513
naver_search                 0.080671
advertiser_wondershopping    0.069106
kakao_dm                     0.061338
referral                     0.053047
organic                      0.047328
TOSS                         0.044170
kakao_share                  0.040191
google_SA                    0.039424
kakao_SA                     0.033316
criteo                       0.014931
facebook                     0.001398
instagram                    0.001129
google_DA                    0.000149
ADN                          0.000016
appier                       0.000000
Name: converted, dtype: float64</pre>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-High-conversion-rate-(%3E-30%25)">(1) High conversion rate (&gt; 30%)<a class="anchor-link" href="#(1)-High-conversion-rate-(%3E-30%25)">&#182;</a></h3><ul>
<li>advertiser_apppush: 57.7%, advertiser_braze: 35.9%</li>
<li>App Push: notification messages sent to app users</li>
<li>Braze: a CRM marketing platform that automates and personalizes app push, email, and SMS campaigns</li>
<li>CRM (Customer Relationship Management)–based retargeting channels show outstanding conversion performance.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-Moderate-conversion-rate">(2) Moderate conversion rate<a class="anchor-link" href="#(2)-Moderate-conversion-rate">&#182;</a></h3><ul>
<li>direct: 23.1%, advertiser_naver: 20.0%, advertiser_homeshopping: 19.8%</li>
<li>Because these users already know the brand and visit directly, they have a higher likelihood of purchasing.</li>
<li>Other advertisers (e.g., advertiser_sms, advertiser_tv, etc.) also show conversion rates of around 14%.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(3)-Low-conversion-rate">(3) Low conversion rate<a class="anchor-link" href="#(3)-Low-conversion-rate">&#182;</a></h3><ul>
<li>Finance/payment-related channels (payco: 8.6%, TOSS: 4.4%)</li>
<li>Search-related channels (naver_search: 8.0%, google_SA: 3.9%)</li>
<li>Kakao channels (kakao_dm: 6.3%, kakao_share: 4.0%, kakao_SA: 3.3%)</li>
<li>Advertising strategies in these areas need to be re-evaluated.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(4)-Extremely-low-conversion-rate-(%E2%89%AA-0.1%25)">(4) Extremely low conversion rate (&#8810; 0.1%)<a class="anchor-link" href="#(4)-Extremely-low-conversion-rate-(%E2%89%AA-0.1%25)">&#182;</a></h3><ul>
<li>google_DA (Google Display Ads), ADN, appier (AI-based targeting ads), Facebook, Instagram</li>
<li>These channels are mainly visual and click-oriented, so users tend to browse, show interest, or click lightly for fun rather than proceed to purchase.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="4.-Device">4. Device<a class="anchor-link" href="#4.-Device">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>In this section, we investigate whether conversion behavior differs by device type. We first construct a contingency table that cross-tabulates <code>device</code> and the binary <code>converted</code> variable, which summarizes how many users on each device did or did not convert. The conversion rates are approximately 11.28% for mobile users (460,497 / (3,621,810 + 460,497)) and 2.28% for desktop users (9,091 / (390,444 + 9,091)). We next examine whether this substantial difference in conversion rates between mobile and desktop is statistically significant. This table will then be used to statistically test the association between device and conversion.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">scipy.stats</span> <span class="kn">import</span> <span class="n">chi2_contingency</span>

<span class="n">contingency_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">crosstab</span><span class="p">(</span><span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;device&#39;</span><span class="p">],</span> <span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;converted&#39;</span><span class="p">])</span>

<span class="n">contingency_table</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th>converted</th>
      <th>0</th>
      <th>1</th>
    </tr>
    <tr>
      <th>device</th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>desktop</th>
      <td>390444</td>
      <td>9091</td>
    </tr>
    <tr>
      <th>mobile</th>
      <td>3621810</td>
      <td>460497</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(1)-chi-squared-test">(1) chi squared test<a class="anchor-link" href="#(1)-chi-squared-test">&#182;</a></h3><p>To formally test whether conversion is independent of device type, we perform a chi-square test of independence with the null hypothesis that conversion rate does not differ by device (H₀: device and conversion are independent) and the alternative that it does (H₁: not independent). The resulting chi-square statistic (≈ 31,459.94) and p-value (≈ 0.0) lead us to reject the null hypothesis, indicating that conversion behavior differs significantly between mobile and desktop users.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">chi2</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">dof</span><span class="p">,</span> <span class="n">expected</span> <span class="o">=</span> <span class="n">chi2_contingency</span><span class="p">(</span><span class="n">contingency_table</span><span class="p">)</span>

<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Chi-square statistic: </span><span class="si">{</span><span class="n">chi2</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;p-value: </span><span class="si">{</span><span class="n">p</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>Chi-square statistic: 31459.938266787663
p-value: 0.0
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(2)-t---test">(2) t - test<a class="anchor-link" href="#(2)-t---test">&#182;</a></h3><p>To further compare conversion performance by device, we conduct Welch’s t-test on the binary <code>converted</code> variable for mobile and desktop users. Under the null hypothesis that the two groups have the same mean conversion rate and the alternative that they differ, the test yields a very large t-statistic (≈ 318.03) and a p-value close to 0, so we reject the null and conclude that the average conversion rate for mobile users is significantly higher than that for desktop users.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">scipy.stats</span> <span class="kn">import</span> <span class="n">ttest_ind</span>

<span class="n">mobile</span> <span class="o">=</span> <span class="n">user_df</span><span class="p">[</span><span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;device&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;mobile&#39;</span><span class="p">][</span><span class="s1">&#39;converted&#39;</span><span class="p">]</span>
<span class="n">desktop</span> <span class="o">=</span> <span class="n">user_df</span><span class="p">[</span><span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;device&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;desktop&#39;</span><span class="p">][</span><span class="s1">&#39;converted&#39;</span><span class="p">]</span>

<span class="n">t_stat</span><span class="p">,</span> <span class="n">p_val</span> <span class="o">=</span> <span class="n">ttest_ind</span><span class="p">(</span><span class="n">mobile</span><span class="p">,</span> <span class="n">desktop</span><span class="p">,</span> <span class="n">equal_var</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>  <span class="c1"># Welch&#39;s t-test</span>

<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;t-statistic: </span><span class="si">{</span><span class="n">t_stat</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;p-value: </span><span class="si">{</span><span class="n">p_val</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>t-statistic: 318.0330553859352
p-value: 0.0
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="(3)-conclusion">(3) conclusion<a class="anchor-link" href="#(3)-conclusion">&#182;</a></h3><p>Both the chi-square test and Welch’s t-test consistently show that conversion behavior differs significantly by device, with mobile users exhibiting a much higher conversion rate than desktop users. This gap is likely related to the strong performance of mobile-focused channels such as App Push, which drive especially high conversion among app users.</p>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="5.-K-means">5. K-means<a class="anchor-link" href="#5.-K-means">&#182;</a></h2><p>In this section, we analyze how customers move through the shopping journey—from visiting and browsing the site to making a purchase—by applying K-means clustering to group users with similar behavioral patterns. To focus the clustering purely on event-based activity features, we remove <code>media</code> and <code>device</code> (categorical attributes used later for interpretation) as well as <code>converted</code>, which is an outcome variable rather than an input feature for unsupervised clustering.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="kn">import</span> <span class="n">StandardScaler</span>
<span class="kn">from</span> <span class="nn">sklearn.cluster</span> <span class="kn">import</span> <span class="n">KMeans</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">silhouette_score</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
</pre></div>

     </div>
</div>
</div>
</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">user_df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;media&#39;</span><span class="p">,</span> <span class="s1">&#39;device&#39;</span><span class="p">,</span><span class="s1">&#39;converted&#39;</span><span class="p">])</span>
<span class="n">X</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>add_to_cart</th>
      <th>begin_checkout</th>
      <th>first_visit</th>
      <th>login</th>
      <th>purchase</th>
      <th>session_start</th>
      <th>회원가입완료</th>
      <th>total_stay_time_sec</th>
    </tr>
    <tr>
      <th>user_pseudo_id</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>18.172369</th>
      <td>0</td>
      <td>21</td>
      <td>1</td>
      <td>1</td>
      <td>17</td>
      <td>93</td>
      <td>0</td>
      <td>2.066662e+06</td>
    </tr>
    <tr>
      <th>23.172043</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>1298.162548</th>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>2</td>
      <td>0</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>1678.173362</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0.000000e+00</td>
    </tr>
    <tr>
      <th>2574.172079</th>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>3</td>
      <td>0</td>
      <td>1.302182e+04</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>We standardize all features using <code>StandardScaler</code> so that each variable has mean 0 and unit variance, ensuring that no single feature dominates the K-means clustering due to its scale.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">scaler</span> <span class="o">=</span> <span class="n">StandardScaler</span><span class="p">()</span>
<span class="n">X_scaled</span> <span class="o">=</span> <span class="n">scaler</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>We determine the number of clusters <em>k</em> using the <code>elbow method</code>:</p>
<ul>
<li>We examine how inertia (within-cluster sum of squares) decreases as <em>k</em> increases.</li>
<li>The optimal <em>k</em> is where the rate of decrease starts to level off.</li>
<li>After <em>k = 6</em>, the reduction in inertia becomes relatively small, suggesting diminishing returns.</li>
<li>With <em>k = 3</em>, clusters mainly separate users into high-conversion, low-conversion, and outlier groups, which provides limited behavioral insight.</li>
</ul>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Elbow Method</span>
<span class="n">inertia</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">K_range</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)</span>
<span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">K_range</span><span class="p">:</span>
    <span class="n">model</span> <span class="o">=</span> <span class="n">KMeans</span><span class="p">(</span><span class="n">n_clusters</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">42</span><span class="p">)</span>
    <span class="n">model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_scaled</span><span class="p">)</span>
    <span class="n">inertia</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">inertia_</span><span class="p">)</span>


<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">K_range</span><span class="p">,</span> <span class="n">inertia</span><span class="p">,</span> <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;o&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Number of clusters (k)&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Inertia (within-cluster sum of squares)&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Elbow Method For Optimal k&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>




<div class="jp-RenderedImage jp-OutputArea-output ">
<img src="data:image/png;base64,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"
class="
"
>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>We fit a K-means model with <code>k = 6</code> clusters on the standardized features and assign each user to one of the six clusters. Then, we compute the mean of all numeric variables by cluster to summarize and compare the characteristic behavior of each customer group.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">k</span> <span class="o">=</span> <span class="mi">6</span>

<span class="n">kmeans</span> <span class="o">=</span> <span class="n">KMeans</span><span class="p">(</span><span class="n">n_clusters</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">42</span><span class="p">)</span>
<span class="n">clusters</span> <span class="o">=</span> <span class="n">kmeans</span><span class="o">.</span><span class="n">fit_predict</span><span class="p">(</span><span class="n">X_scaled</span><span class="p">)</span>


<span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;cluster&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">clusters</span>
<span class="n">cluster_summary</span> <span class="o">=</span> <span class="n">user_df</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s1">&#39;cluster&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">numeric_only</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">cluster_summary</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>add_to_cart</th>
      <th>begin_checkout</th>
      <th>first_visit</th>
      <th>login</th>
      <th>purchase</th>
      <th>session_start</th>
      <th>회원가입완료</th>
      <th>converted</th>
      <th>total_stay_time_sec</th>
    </tr>
    <tr>
      <th>cluster</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>0.042468</td>
      <td>0.253800</td>
      <td>1.004776</td>
      <td>0.080826</td>
      <td>0.092383</td>
      <td>1.452441</td>
      <td>0.000000</td>
      <td>0.069311</td>
      <td>2.496098e+04</td>
    </tr>
    <tr>
      <th>1</th>
      <td>49.525810</td>
      <td>156.056903</td>
      <td>0.217767</td>
      <td>8.898679</td>
      <td>22.225450</td>
      <td>406.663625</td>
      <td>0.007203</td>
      <td>0.990876</td>
      <td>1.048004e+07</td>
    </tr>
    <tr>
      <th>2</th>
      <td>0.000000</td>
      <td>15612.666667</td>
      <td>6.333333</td>
      <td>16072.666667</td>
      <td>0.000000</td>
      <td>20.000000</td>
      <td>0.000000</td>
      <td>0.000000</td>
      <td>1.530436e+07</td>
    </tr>
    <tr>
      <th>3</th>
      <td>8.969625</td>
      <td>40.070478</td>
      <td>0.353236</td>
      <td>0.875223</td>
      <td>7.354378</td>
      <td>191.998610</td>
      <td>0.007792</td>
      <td>0.843955</td>
      <td>5.090688e+06</td>
    </tr>
    <tr>
      <th>4</th>
      <td>0.429219</td>
      <td>1.776358</td>
      <td>0.000345</td>
      <td>0.116009</td>
      <td>0.558161</td>
      <td>6.752564</td>
      <td>0.000000</td>
      <td>0.254752</td>
      <td>7.507292e+04</td>
    </tr>
    <tr>
      <th>5</th>
      <td>0.308470</td>
      <td>1.930986</td>
      <td>0.928781</td>
      <td>0.207768</td>
      <td>0.701767</td>
      <td>3.990078</td>
      <td>1.165559</td>
      <td>0.503670</td>
      <td>6.956890e+04</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="Cluster-0-:-long-term-dormant-users">Cluster 0 : long-term dormant users<a class="anchor-link" href="#Cluster-0-:-long-term-dormant-users">&#182;</a></h3><ul>
<li>Behavioral indicators (excluding outliers) are generally the lowest among all clusters.  </li>
<li>Both login rate (0.08) and conversion rate (0.069) are low, and total stay time is also short.  </li>
<li>Interpretation: customers who showed only minimal interest without purchasing → candidates for retargeting campaigns.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="Cluster-1-:-VIP-customers-(big-spenders)">Cluster 1 : VIP customers (big spenders)<a class="anchor-link" href="#Cluster-1-:-VIP-customers-(big-spenders)">&#182;</a></h3><ul>
<li>Very high activity levels: add_to_cart ≈ 49.5, purchase ≈ 22.2, and extremely long stay_time (over 10 million seconds).  </li>
<li>Number of sessions (≈ 406) and logins (≈ 8.9) are very high, indicating highly engaged users.  </li>
<li>Conversion rate <code>converted ≈ 0.99</code>, meaning almost all users in this cluster make a purchase.  </li>
<li>Interpretation: core revenue-driving customers → strong candidates for loyalty programs and premium benefits.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="Cluster-2-:-Outliers-or-abnormal-behavior">Cluster 2 : Outliers or abnormal behavior<a class="anchor-link" href="#Cluster-2-:-Outliers-or-abnormal-behavior">&#182;</a></h3><ul>
<li>Extremely high activity counts, e.g., login ≈ 16,072 and begin_checkout ≈ 15,612.  </li>
<li>Despite the large number of actions, <code>converted = 0</code> and <code>purchase = 0</code>, showing a highly imbalanced pattern.  </li>
<li>Interpretation: likely bot traffic or logging errors → should be considered as outliers and potentially removed from analysis.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="Cluster-3-:-Loyal-regular-buyers">Cluster 3 : Loyal regular buyers<a class="anchor-link" href="#Cluster-3-:-Loyal-regular-buyers">&#182;</a></h3><ul>
<li>Solid activity levels: add_to_cart ≈ 8.96, purchase ≈ 7.35, with around 191 sessions and relatively long total stay_time.  </li>
<li>High conversion rate <code>converted ≈ 0.84</code>, meaning most users in this cluster end up purchasing.  </li>
<li>Interpretation: valuable customers who visit frequently and make repeat purchases → key targets for retention strategies.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="Cluster-4-:-Low-loyalty-general-customers">Cluster 4 : Low-loyalty general customers<a class="anchor-link" href="#Cluster-4-:-Low-loyalty-general-customers">&#182;</a></h3><ul>
<li>Relatively low activity levels: add_to_cart ≈ 0.42, purchase ≈ 1.77, about 6.75 sessions, and short total stay_time.  </li>
<li>Conversion rate <code>converted ≈ 0.25</code>, indicating that purchases are relatively infrequent.  </li>
<li>Interpretation: at-risk or churning users → candidates for remarketing campaigns and discount coupons.</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h3 id="Cluster-5-:-First-time-visitors">Cluster 5 : First-time visitors<a class="anchor-link" href="#Cluster-5-:-First-time-visitors">&#182;</a></h3><ul>
<li>Highest values for “회원가입완료” (signup completed) and “first_visit”, with a moderate conversion rate (<code>converted ≈ 0.5</code>).  </li>
<li>Short total stay_time → users who are likely visiting the site for the first time.  </li>
<li>Interpretation: customers who need marketing tailored to first-time visitors (onboarding guides, welcome offers, etc.).</li>
</ul>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="6.-Cart">6. Cart<a class="anchor-link" href="#6.-Cart">&#182;</a></h2>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>In this section, we focus on users who have reached the cart stage and examine which factors drive them to complete a purchase. We restrict the data to customers with at least one <code>add_to_cart</code> event and build a logistic regression model with <code>converted</code> as the target and various behavioral features (and device information) as predictors. This allows us to quantify how different actions in the cart stage affect the probability of final conversion and to identify leverage points for improving checkout completion.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.linear_model</span> <span class="kn">import</span> <span class="n">LogisticRegression</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">classification_report</span><span class="p">,</span> <span class="n">confusion_matrix</span><span class="p">,</span> <span class="n">roc_auc_score</span>
</pre></div>

     </div>
</div>
</div>
</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">user_df_cart</span> <span class="o">=</span> <span class="n">user_df</span><span class="p">[</span><span class="n">user_df</span><span class="p">[</span><span class="s1">&#39;add_to_cart&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">]</span>
<span class="c1">#user_df_cart.loc[:, &#39;converted&#39;] = (user_df_cart[&#39;purchase&#39;] &gt; 0).astype(int)</span>
<span class="n">user_df_cart</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>add_to_cart</th>
      <th>begin_checkout</th>
      <th>first_visit</th>
      <th>login</th>
      <th>purchase</th>
      <th>session_start</th>
      <th>회원가입완료</th>
      <th>media</th>
      <th>device</th>
      <th>converted</th>
      <th>total_stay_time_sec</th>
      <th>cluster</th>
    </tr>
    <tr>
      <th>user_pseudo_id</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>25456.172429</th>
      <td>1</td>
      <td>0</td>
      <td>1</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>organic</td>
      <td>desktop</td>
      <td>0</td>
      <td>1.723212e+02</td>
      <td>0</td>
    </tr>
    <tr>
      <th>36909.170936</th>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>advertiser_tv</td>
      <td>mobile</td>
      <td>0</td>
      <td>1.542716e+02</td>
      <td>4</td>
    </tr>
    <tr>
      <th>55536.169964</th>
      <td>4</td>
      <td>12</td>
      <td>1</td>
      <td>0</td>
      <td>3</td>
      <td>124</td>
      <td>0</td>
      <td>RTB</td>
      <td>mobile</td>
      <td>1</td>
      <td>3.675918e+06</td>
      <td>3</td>
    </tr>
    <tr>
      <th>59429.168086</th>
      <td>5</td>
      <td>8</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>20</td>
      <td>0</td>
      <td>not set</td>
      <td>mobile</td>
      <td>0</td>
      <td>1.031516e+05</td>
      <td>4</td>
    </tr>
    <tr>
      <th>78975.162420</th>
      <td>1</td>
      <td>9</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>21</td>
      <td>0</td>
      <td>direct</td>
      <td>mobile</td>
      <td>0</td>
      <td>2.080192e+05</td>
      <td>4</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">user_df_cart</span><span class="p">[</span><span class="s1">&#39;device&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">user_df_cart</span><span class="p">[</span><span class="s1">&#39;device&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">({</span><span class="s1">&#39;mobile&#39;</span> <span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;desktop&#39;</span> <span class="p">:</span> <span class="mi">1</span><span class="p">})</span>
<span class="n">user_df_cart</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
<pre>C:\Users\user\AppData\Local\Temp\ipykernel_5984\3132898683.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  user_df_cart[&#39;device&#39;] = user_df_cart[&#39;device&#39;].map({&#39;mobile&#39; : 0, &#39;desktop&#39; : 1})
</pre>
</div>
</div>

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>add_to_cart</th>
      <th>begin_checkout</th>
      <th>first_visit</th>
      <th>login</th>
      <th>purchase</th>
      <th>session_start</th>
      <th>회원가입완료</th>
      <th>media</th>
      <th>device</th>
      <th>converted</th>
      <th>total_stay_time_sec</th>
      <th>cluster</th>
    </tr>
    <tr>
      <th>user_pseudo_id</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>25456.172429</th>
      <td>1</td>
      <td>0</td>
      <td>1</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>organic</td>
      <td>1</td>
      <td>0</td>
      <td>1.723212e+02</td>
      <td>0</td>
    </tr>
    <tr>
      <th>36909.170936</th>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>advertiser_tv</td>
      <td>0</td>
      <td>0</td>
      <td>1.542716e+02</td>
      <td>4</td>
    </tr>
    <tr>
      <th>55536.169964</th>
      <td>4</td>
      <td>12</td>
      <td>1</td>
      <td>0</td>
      <td>3</td>
      <td>124</td>
      <td>0</td>
      <td>RTB</td>
      <td>0</td>
      <td>1</td>
      <td>3.675918e+06</td>
      <td>3</td>
    </tr>
    <tr>
      <th>59429.168086</th>
      <td>5</td>
      <td>8</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>20</td>
      <td>0</td>
      <td>not set</td>
      <td>0</td>
      <td>0</td>
      <td>1.031516e+05</td>
      <td>4</td>
    </tr>
    <tr>
      <th>78975.162420</th>
      <td>1</td>
      <td>9</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>21</td>
      <td>0</td>
      <td>direct</td>
      <td>0</td>
      <td>0</td>
      <td>2.080192e+05</td>
      <td>4</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>For the cart-stage analysis, we construct the feature matrix <code>X</code> by removing <code>purchase</code>, <code>media</code>, <code>converted</code>, and <code>cluster</code>. The variable <code>converted</code> is our target and must not be included as an input, while <code>purchase</code> is effectively an outcome-like variable that would leak information about conversion. We also exclude <code>media</code> and the derived <code>cluster</code> label so that the logistic regression focuses on the direct effects of users’ behavioral features in the cart stage, without confounding from channel attributes or previously computed segments.</p>

</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">user_df_cart</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;purchase&#39;</span><span class="p">,</span><span class="s1">&#39;media&#39;</span><span class="p">,</span> <span class="s1">&#39;converted&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster&#39;</span><span class="p">])</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">user_df_cart</span><span class="p">[</span><span class="s1">&#39;converted&#39;</span><span class="p">]</span>  <span class="c1"># target</span>

<span class="n">model</span> <span class="o">=</span> <span class="n">LogisticRegression</span><span class="p">(</span><span class="n">max_iter</span><span class="o">=</span><span class="mi">1000</span><span class="p">)</span>
<span class="n">model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[&nbsp;]:</div>



<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html">
<style>#sk-container-id-1 {
  /* Definition of color scheme common for light and dark mode */
  --sklearn-color-text: black;
  --sklearn-color-line: gray;
  /* Definition of color scheme for unfitted estimators */
  --sklearn-color-unfitted-level-0: #fff5e6;
  --sklearn-color-unfitted-level-1: #f6e4d2;
  --sklearn-color-unfitted-level-2: #ffe0b3;
  --sklearn-color-unfitted-level-3: chocolate;
  /* Definition of color scheme for fitted estimators */
  --sklearn-color-fitted-level-0: #f0f8ff;
  --sklearn-color-fitted-level-1: #d4ebff;
  --sklearn-color-fitted-level-2: #b3dbfd;
  --sklearn-color-fitted-level-3: cornflowerblue;

  /* Specific color for light theme */
  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));
  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));
  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));
  --sklearn-color-icon: #696969;

  @media (prefers-color-scheme: dark) {
    /* Redefinition of color scheme for dark theme */
    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));
    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));
    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));
    --sklearn-color-icon: #878787;
  }
}

#sk-container-id-1 {
  color: var(--sklearn-color-text);
}

#sk-container-id-1 pre {
  padding: 0;
}

#sk-container-id-1 input.sk-hidden--visually {
  border: 0;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

#sk-container-id-1 div.sk-dashed-wrapped {
  border: 1px dashed var(--sklearn-color-line);
  margin: 0 0.4em 0.5em 0.4em;
  box-sizing: border-box;
  padding-bottom: 0.4em;
  background-color: var(--sklearn-color-background);
}

#sk-container-id-1 div.sk-container {
  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`
     but bootstrap.min.css set `[hidden] { display: none !important; }`
     so we also need the `!important` here to be able to override the
     default hidden behavior on the sphinx rendered scikit-learn.org.
     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */
  display: inline-block !important;
  position: relative;
}

#sk-container-id-1 div.sk-text-repr-fallback {
  display: none;
}

div.sk-parallel-item,
div.sk-serial,
div.sk-item {
  /* draw centered vertical line to link estimators */
  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));
  background-size: 2px 100%;
  background-repeat: no-repeat;
  background-position: center center;
}

/* Parallel-specific style estimator block */

#sk-container-id-1 div.sk-parallel-item::after {
  content: "";
  width: 100%;
  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);
  flex-grow: 1;
}

#sk-container-id-1 div.sk-parallel {
  display: flex;
  align-items: stretch;
  justify-content: center;
  background-color: var(--sklearn-color-background);
  position: relative;
}

#sk-container-id-1 div.sk-parallel-item {
  display: flex;
  flex-direction: column;
}

#sk-container-id-1 div.sk-parallel-item:first-child::after {
  align-self: flex-end;
  width: 50%;
}

#sk-container-id-1 div.sk-parallel-item:last-child::after {
  align-self: flex-start;
  width: 50%;
}

#sk-container-id-1 div.sk-parallel-item:only-child::after {
  width: 0;
}

/* Serial-specific style estimator block */

#sk-container-id-1 div.sk-serial {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--sklearn-color-background);
  padding-right: 1em;
  padding-left: 1em;
}


/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is
clickable and can be expanded/collapsed.
- Pipeline and ColumnTransformer use this feature and define the default style
- Estimators will overwrite some part of the style using the `sk-estimator` class
*/

/* Pipeline and ColumnTransformer style (default) */

#sk-container-id-1 div.sk-toggleable {
  /* Default theme specific background. It is overwritten whether we have a
  specific estimator or a Pipeline/ColumnTransformer */
  background-color: var(--sklearn-color-background);
}

/* Toggleable label */
#sk-container-id-1 label.sk-toggleable__label {
  cursor: pointer;
  display: block;
  width: 100%;
  margin-bottom: 0;
  padding: 0.5em;
  box-sizing: border-box;
  text-align: center;
}

#sk-container-id-1 label.sk-toggleable__label-arrow:before {
  /* Arrow on the left of the label */
  content: "▸";
  float: left;
  margin-right: 0.25em;
  color: var(--sklearn-color-icon);
}

#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {
  color: var(--sklearn-color-text);
}

/* Toggleable content - dropdown */

#sk-container-id-1 div.sk-toggleable__content {
  max-height: 0;
  max-width: 0;
  overflow: hidden;
  text-align: left;
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-0);
}

#sk-container-id-1 div.sk-toggleable__content.fitted {
  /* fitted */
  background-color: var(--sklearn-color-fitted-level-0);
}

#sk-container-id-1 div.sk-toggleable__content pre {
  margin: 0.2em;
  border-radius: 0.25em;
  color: var(--sklearn-color-text);
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-0);
}

#sk-container-id-1 div.sk-toggleable__content.fitted pre {
  /* unfitted */
  background-color: var(--sklearn-color-fitted-level-0);
}

#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {
  /* Expand drop-down */
  max-height: 200px;
  max-width: 100%;
  overflow: auto;
}

#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {
  content: "▾";
}

/* Pipeline/ColumnTransformer-specific style */

#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {
  color: var(--sklearn-color-text);
  background-color: var(--sklearn-color-unfitted-level-2);
}

#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {
  background-color: var(--sklearn-color-fitted-level-2);
}

/* Estimator-specific style */

/* Colorize estimator box */
#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-2);
}

#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {
  /* fitted */
  background-color: var(--sklearn-color-fitted-level-2);
}

#sk-container-id-1 div.sk-label label.sk-toggleable__label,
#sk-container-id-1 div.sk-label label {
  /* The background is the default theme color */
  color: var(--sklearn-color-text-on-default-background);
}

/* On hover, darken the color of the background */
#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {
  color: var(--sklearn-color-text);
  background-color: var(--sklearn-color-unfitted-level-2);
}

/* Label box, darken color on hover, fitted */
#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {
  color: var(--sklearn-color-text);
  background-color: var(--sklearn-color-fitted-level-2);
}

/* Estimator label */

#sk-container-id-1 div.sk-label label {
  font-family: monospace;
  font-weight: bold;
  display: inline-block;
  line-height: 1.2em;
}

#sk-container-id-1 div.sk-label-container {
  text-align: center;
}

/* Estimator-specific */
#sk-container-id-1 div.sk-estimator {
  font-family: monospace;
  border: 1px dotted var(--sklearn-color-border-box);
  border-radius: 0.25em;
  box-sizing: border-box;
  margin-bottom: 0.5em;
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-0);
}

#sk-container-id-1 div.sk-estimator.fitted {
  /* fitted */
  background-color: var(--sklearn-color-fitted-level-0);
}

/* on hover */
#sk-container-id-1 div.sk-estimator:hover {
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-2);
}

#sk-container-id-1 div.sk-estimator.fitted:hover {
  /* fitted */
  background-color: var(--sklearn-color-fitted-level-2);
}

/* Specification for estimator info (e.g. "i" and "?") */

/* Common style for "i" and "?" */

.sk-estimator-doc-link,
a:link.sk-estimator-doc-link,
a:visited.sk-estimator-doc-link {
  float: right;
  font-size: smaller;
  line-height: 1em;
  font-family: monospace;
  background-color: var(--sklearn-color-background);
  border-radius: 1em;
  height: 1em;
  width: 1em;
  text-decoration: none !important;
  margin-left: 1ex;
  /* unfitted */
  border: var(--sklearn-color-unfitted-level-1) 1pt solid;
  color: var(--sklearn-color-unfitted-level-1);
}

.sk-estimator-doc-link.fitted,
a:link.sk-estimator-doc-link.fitted,
a:visited.sk-estimator-doc-link.fitted {
  /* fitted */
  border: var(--sklearn-color-fitted-level-1) 1pt solid;
  color: var(--sklearn-color-fitted-level-1);
}

/* On hover */
div.sk-estimator:hover .sk-estimator-doc-link:hover,
.sk-estimator-doc-link:hover,
div.sk-label-container:hover .sk-estimator-doc-link:hover,
.sk-estimator-doc-link:hover {
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-3);
  color: var(--sklearn-color-background);
  text-decoration: none;
}

div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,
.sk-estimator-doc-link.fitted:hover,
div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,
.sk-estimator-doc-link.fitted:hover {
  /* fitted */
  background-color: var(--sklearn-color-fitted-level-3);
  color: var(--sklearn-color-background);
  text-decoration: none;
}

/* Span, style for the box shown on hovering the info icon */
.sk-estimator-doc-link span {
  display: none;
  z-index: 9999;
  position: relative;
  font-weight: normal;
  right: .2ex;
  padding: .5ex;
  margin: .5ex;
  width: min-content;
  min-width: 20ex;
  max-width: 50ex;
  color: var(--sklearn-color-text);
  box-shadow: 2pt 2pt 4pt #999;
  /* unfitted */
  background: var(--sklearn-color-unfitted-level-0);
  border: .5pt solid var(--sklearn-color-unfitted-level-3);
}

.sk-estimator-doc-link.fitted span {
  /* fitted */
  background: var(--sklearn-color-fitted-level-0);
  border: var(--sklearn-color-fitted-level-3);
}

.sk-estimator-doc-link:hover span {
  display: block;
}

/* "?"-specific style due to the `<a>` HTML tag */

#sk-container-id-1 a.estimator_doc_link {
  float: right;
  font-size: 1rem;
  line-height: 1em;
  font-family: monospace;
  background-color: var(--sklearn-color-background);
  border-radius: 1rem;
  height: 1rem;
  width: 1rem;
  text-decoration: none;
  /* unfitted */
  color: var(--sklearn-color-unfitted-level-1);
  border: var(--sklearn-color-unfitted-level-1) 1pt solid;
}

#sk-container-id-1 a.estimator_doc_link.fitted {
  /* fitted */
  border: var(--sklearn-color-fitted-level-1) 1pt solid;
  color: var(--sklearn-color-fitted-level-1);
}

/* On hover */
#sk-container-id-1 a.estimator_doc_link:hover {
  /* unfitted */
  background-color: var(--sklearn-color-unfitted-level-3);
  color: var(--sklearn-color-background);
  text-decoration: none;
}

#sk-container-id-1 a.estimator_doc_link.fitted:hover {
  /* fitted */
  background-color: var(--sklearn-color-fitted-level-3);
}
</style><div id="sk-container-id-1" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>LogisticRegression(max_iter=1000)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class="sk-container" hidden><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-1" type="checkbox" checked><label for="sk-estimator-id-1" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;&nbsp;LogisticRegression<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.5/modules/generated/sklearn.linear_model.LogisticRegression.html">?<span>Documentation for LogisticRegression</span></a><span class="sk-estimator-doc-link fitted">i<span>Fitted</span></span></label><div class="sk-toggleable__content fitted"><pre>LogisticRegression(max_iter=1000)</pre></div> </div></div></div></div>
</div>

</div>

</div>

</div>

</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[&nbsp;]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
     <div class="CodeMirror cm-s-jupyter">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">coeff_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span>
    <span class="s1">&#39;Feature&#39;</span><span class="p">:</span> <span class="n">X</span><span class="o">.</span><span class="n">columns</span><span class="p">,</span>
    <span class="s1">&#39;Coefficient&#39;</span><span class="p">:</span> <span class="n">model</span><span class="o">.</span><span class="n">coef_</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="p">})</span>
<span class="nb">print</span><span class="p">(</span><span class="n">coeff_df</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">by</span><span class="o">=</span><span class="s1">&#39;Coefficient&#39;</span><span class="p">,</span> <span class="n">ascending</span><span class="o">=</span><span class="kc">False</span><span class="p">))</span>
</pre></div>

     </div>
</div>
</div>
</div>

<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>


<div class="jp-OutputArea jp-Cell-outputArea">

<div class="jp-OutputArea-child">

    
    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>


<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
<pre>               Feature   Coefficient
1       begin_checkout  4.603798e-01
5               회원가입완료  1.976794e-01
3                login  3.332584e-02
4        session_start  8.550497e-03
7  total_stay_time_sec -3.571540e-07
0          add_to_cart -7.881150e-03
2          first_visit -2.358669e-02
6               device -2.115448e-01
</pre>
</div>
</div>

</div>

</div>

</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<p>From the logistic regression coefficients, we can draw the following conclusions about which factors most strongly influence conversion at the cart stage:</p>
<ul>
<li><p><strong><code>begin_checkout</code> (β ≈ 0.46)</strong></p>
<ul>
<li>This is the strongest positive predictor: users who proceed to the checkout step are much more likely to complete a purchase.</li>
</ul>
</li>
<li><p><strong><code>회원가입완료</code> – signup completed (β ≈ 0.20)</strong></p>
<ul>
<li>Completing membership registration is also strongly associated with higher conversion, suggesting that <strong>registered members are more likely to finish the purchase</strong> than non-members.</li>
</ul>
</li>
<li><p><strong><code>login</code> and <code>session_start</code> (small positive coefficients)</strong></p>
<ul>
<li>More logins and session starts slightly increase the probability of conversion, indicating that <strong>repeated engagement with the site helps</strong>, but their effect is weaker than checkout or signup.</li>
</ul>
</li>
<li><p><strong><code>first_visit</code> (β &lt; 0)</strong></p>
<ul>
<li>First-time visitors are <strong>less likely to convert</strong> than returning users, which aligns with the idea that users often need multiple visits before purchasing.</li>
</ul>
</li>
<li><p><strong><code>device</code> (β ≈ -0.21, mobile = 0, desktop = 1)</strong></p>
<ul>
<li>The negative coefficient means that <strong>desktop users have a lower conversion probability than mobile users</strong>, even among those who added items to the cart, consistent with the earlier device-level analysis.</li>
</ul>
</li>
<li><p><strong><code>total_stay_time_sec</code> and <code>add_to_cart</code> (coefficients close to 0)</strong></p>
<ul>
<li>Their effects are very small in magnitude in this model, suggesting that <strong>spending more time or adding slightly more items to the cart does not, by itself, strongly change the conversion probability</strong>, once other behaviors (like checkout and signup) are controlled for.</li>
</ul>
</li>
</ul>
<p>Overall, the model highlights that <strong>moving forward in the funnel (begin_checkout), completing signup, and using mobile</strong> are the key drivers of conversion at the cart stage, whereas first-time visits and desktop usage are associated with lower purchase completion.</p>

</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
<h2 id="7.-Conclusion">7. Conclusion<a class="anchor-link" href="#7.-Conclusion">&#182;</a></h2><p>In this analysis, we used detailed event-level logs from an online shopping mall to understand how customers move from visit to purchase and how different channels and behaviors affect conversion.</p>
<p>Overall, the analysis shows that <strong>personalized CRM channels, mobile usage, and deeper funnel engagement (checkout and signup)</strong> are critical drivers of conversion, while <strong>user behavior patterns allow us to identify VIPs, loyal buyers, at-risk customers, and newcomers</strong>. These insights can be used to design <strong>targeted marketing and retention strategies</strong> that allocate resources more efficiently and improve overall sales performance.</p>

</div>
</div>
</div>
</div>
</body>







</html>
</div>]]></content><author><name>Han Jun Ko</name></author><category term="Industrial Academic Cooperation Big Data Analysis" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry><entry><title type="html">MCMC HW1</title><link href="https://jason1ko.github.io/monte%20carlo%20methods/MCMC-HW1/" rel="alternate" type="text/html" title="MCMC HW1" /><published>2024-09-01T23:59:00+00:00</published><updated>2024-09-01T23:59:00+00:00</updated><id>https://jason1ko.github.io/monte%20carlo%20methods/MCMC-HW1</id><content type="html" xml:base="https://jason1ko.github.io/monte%20carlo%20methods/MCMC-HW1/"><![CDATA[<!-- _includes/sidebar.html --> 
<div class="sidebar-left" id="sidebar">
  <nav>
   
    <ul class="category-list">
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Multivariate Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW1/">MVA HW1</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW2/">MVA HW2</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW3/">MVA HW3</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-HW4/">MVA HW4</a></li>
            
              <li class="post-item"><a href="/multivariate%20analysis/MVA-Final-Project/">MVA Final Project</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Measure Theory</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex01-Ex18/">Ch1 : Ex.01 ~ Ex.18</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch1-Ex19-Ex38/">Ch1 : Ex.19 ~ Ex.38</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex01-Ex11/">Ch2 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch2-Ex12-Ex24/">Ch2 : Ex.12 ~ Ex.24</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex01-Ex11/">Ch3 : Ex.01 ~ Ex.11</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex12-Ex20/">Ch3 : Ex.12 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Ex21-Ex32/">Ch3 : Ex.21 ~ Ex.32</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch3-Extra/">Ch3 : Extra Questions</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex01-Ex09/">Ch4 : Ex.01 ~ Ex.09</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex10-Ex20/">Ch4 : Ex.10 ~ Ex.20</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex21-Ex28/">Ch4 : Ex.21 ~ Ex.28</a></li>
            
              <li class="post-item"><a href="/measure%20theory/MT-Ch4-Ex29-Ex35/">Ch4 : Ex.29 ~ Ex.35</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Elements of Statistical Learning</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH3/">ESL CH3</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH4/">ESL CH4</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH5/">ESL CH5</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH7/">ESL CH7</a></li>
            
              <li class="post-item"><a href="/elements%20of%20statistical%20learning/ESL-CH12/">ESL CH12</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Bayesian Statistics</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW1/">Bayes HW1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW2/">Bayes HW2</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW3/">Bayes HW3</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW4/">Bayes HW4</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW5/">Bayes HW5</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-HW6/">Bayes HW6</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-1/">Bayes Project 1</a></li>
            
              <li class="post-item"><a href="/bayesian%20statistics/Bayes-Project-2/">Bayes Project 2</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Statistical Computing</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW1/">SC HW1</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW2/">SC HW2</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW3/">SC HW3</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW4/">SC HW4</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW5/">SC HW5</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW6/">SC HW6</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW7/">SC HW7</a></li>
            
              <li class="post-item"><a href="/statistical%20computing/SC-HW8/">SC HW8</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Monte Carlo Methods</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW1/">MCMC HW1</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW2/">MCMC HW2</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW3/">MCMC HW3</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW4/">MCMC HW4</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW5/">MCMC HW5</a></li>
            
              <li class="post-item"><a href="/monte%20carlo%20methods/MCMC-HW6/">MCMC HW6</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Industrial Academic Cooperation Big Data Analysis</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/Intro-to-IAC/">Introduction</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-finance/">Finance Data Analysis</a></li>
            
              <li class="post-item"><a href="/industrial%20academic%20cooperation%20big%20data%20analysis/IAC-market/">Marketing Data Analysis</a></li>
            
          </ul>
        </li>
      
        <li class="category-item">
          <!-- category[0]는 카테고리 이름, category[1]은 해당 카테고리에 속한 포스트 배열 -->
          <h3 class="category-title">Data Science Institute</h3>
          <ul class="post-list">
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-intro/">Introduction</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c1/">Consultation 1</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c2/">Consultation 2</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c3/">Consultation 3</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c4/">Consultation 4</a></li>
            
              <li class="post-item"><a href="/data%20science%20institute/DSI-c5/">Consultation 5</a></li>
            
          </ul>
        </li>
      
    </ul>
    
  </nav>
</div>


<div class="main-content">

<!DOCTYPE html>

<html>

<head>

  <div id="header">



<h1 class="title toc-ignore">Monte Carlo Method HW1</h1>

</div>


<div id="normal-from-laplace-distribution" class="section level2">
<h2>1. Normal from Laplace distribution</h2>
<p><span class="math display">\[\begin{aligned}
f(x) &amp;= \frac{1}{\sqrt{2\pi}}\exp\Bigl\{-\frac{x^2}{2}\Bigr\} \\
q(x) &amp;= \frac{\beta}{2}\exp\Bigl\{-\beta|x|\Bigr\}
\end{aligned}\]</span></p>
<div id="a-calculate-the-value-of-m-when-beta-1" class="section level3">
<h3>(a) Calculate the value of <span class="math inline">\(M\)</span>
when <span class="math inline">\(\beta = 1\)</span></h3>
<p>Recall that <span class="math inline">\(M =
\sup_{x}\frac{f(x)}{q(x)}\)</span>. Both the target function <span class="math inline">\(f\)</span> and proposal density <span class="math inline">\(q\)</span> are symmetric at <span class="math inline">\(x=0\)</span>, so we can only consider the case
<span class="math inline">\(x \ge 0\)</span> for achieving the supremum
of <span class="math inline">\(f(x)/q(x)\)</span> for all <span class="math inline">\(x\in\mathbb R\)</span>.</p>
<p><span class="math display">\[\begin{aligned}
f(x)/q(x) &amp;=
(1/\sqrt{2\pi})/(\beta/2)\cdot\exp\Bigl\{-\frac{x^2}{2}+\beta x \Bigr\}
\\
&amp;= \frac{2}{\sqrt{2\pi}\beta}\exp\Bigl\{-\frac{1}{2}(x-\beta)^2 +
\frac{\beta^2}{2} \Bigr\} \\
&amp;\le \frac{2}{\sqrt{2\pi}\beta}\exp\Bigl\{ \frac{\beta^2}{2}
\Bigr\}, \quad\text{when } x = \beta
\end{aligned}\]</span></p>
<p>So, <span class="math inline">\(\sup_{x\ge0}\frac{f(x)}{q(x)} =
\sqrt{\frac{2}{\pi}}\exp\{1/2\}\)</span> when <span class="math inline">\(\beta = 1\)</span>, and thus <span class="math inline">\(M = \sqrt{\frac{2}{\pi}}\exp\{1/2\}\)</span>. This
constant works as a constant that is multiplied by the proposal density
<span class="math inline">\(q\)</span> so that the envelope function
<span class="math inline">\(e(x) := M\cdot q(x)\)</span> is always
greater than target density <span class="math inline">\(f\)</span> and
there exist some <span class="math inline">\(x\in\mathbb R\)</span> such
that <span class="math inline">\(e(x) = f(x)\)</span>.</p>
</div>
<div id="b-sampling-from-standard-normal-distribution-using-rejection-sampling." class="section level3">
<h3>(b) Sampling from Standard normal distribution using rejection
sampling.</h3>
<p>We import the “VGAM” package to sample from Laplace distribution.</p>
<pre class="r"><code>rm(list = ls())
set.seed(2023311161)

#install.packages(&quot;VGAM&quot;) 
library(VGAM) # rlaplace</code></pre>
<pre><code>## Warning: 패키지 &#39;VGAM&#39;는 R 버전 4.3.3에서 작성되었습니다</code></pre>
<pre><code>## 필요한 패키지를 로딩중입니다: stats4</code></pre>
<pre><code>## 필요한 패키지를 로딩중입니다: splines</code></pre>
<pre class="r"><code>library(ggplot2)</code></pre>
<pre><code>## Warning: 패키지 &#39;ggplot2&#39;는 R 버전 4.3.3에서 작성되었습니다</code></pre>
<p>As obtained from (a), we set <span class="math inline">\(M =
\sqrt{\frac{2}{\pi}}\exp\{1/2\}\)</span>. Also, we will generate 100,000
samplings from rejection sampling, which will be saved in vector X.</p>
<pre class="r"><code>M &lt;- sqrt(2/pi)*exp(1/2)

num &lt;- 100000;i&lt;-1
X &lt;- c()</code></pre>
<p>The rejection algorithm for this problem is as follows:</p>
<ol style="list-style-type: decimal">
<li>Sample from proposal density; <span class="math inline">\(Y \sim
\text{Laplace}(0,1)\)</span>.</li>
<li>Sample from Uniform distribution; <span class="math inline">\(U \sim
\text{Unif}(0,1)\)</span>.</li>
<li>If <span class="math inline">\(U \le f(Y)/q(Y)\)</span>, keep the
value <span class="math inline">\(Y\)</span> and set <span class="math inline">\(X=Y\)</span>.</li>
<li>otherwise, reject <span class="math inline">\(Y\)</span> and return
to step 1 until 100,000 number of X is generated.</li>
</ol>
<pre class="r"><code>while(i &lt;= num){
  y &lt;- rlaplace(1)
  u &lt;- runif(1)
  
  if(u &lt; dnorm(y)/(M*dlaplace(y))){
    X[i] &lt;- y
    i &lt;- i+1
  }

}</code></pre>
<p>The following histogram shows how the result of rejection sampling
(blue) are similar to target density (red), the standard normal
distribution.</p>
<pre class="r"><code>data_X &lt;- as.data.frame(X)

ggplot(data_X, aes(x=X)) + 
  geom_histogram(aes(y = after_stat(density)), binwidth = 0.1, fill = &#39;cyan&#39;, color = &#39;black&#39;) +
  stat_function(fun = dnorm, args = list(mean = 0, sd = 1), color = &#39;red&#39;, linewidth = 1) + 
  labs(title = &quot;Histogram of X using rejection sampling&quot;)</code></pre>
<p><img role="img" src="data:image/png;base64,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" width="672" /></p>
</div>
</div>
<div id="importance-sampling" class="section level2">
<h2>2. Importance Sampling</h2>
<div id="a-for-a-standard-normal-random-variable-z-calculate-mathbb-pz-2.5-using-monte-carlo-sums-based-on-indicator-functions.-how-many-simulated-random-variables-are-needed-to-obtain-three-digits-of-accuracy" class="section level3">
<h3>(a) For a standard normal random variable <span class="math inline">\(Z\)</span>, calculate <span class="math inline">\(\mathbb P(Z &gt; 2.5)\)</span> using Monte Carlo
sums based on indicator functions. How many simulated random variables
are needed to obtain three digits of accuracy?</h3>
<p>The given probability can be expressed as an expectation of an
indicator function: <span class="math display">\[\mathbb P(Z&gt;2.5) =
\mathbb E[\mathbb{1}(Z &gt; 2.5)].\]</span> The value of the probability
is around 0.00621, So the purpose is to check whether the difference
between the Monte Carlo result and the real value is less than
0.000005.</p>
<pre class="r"><code>rm(list = ls())
set.seed(2023311161)

1-pnorm(2.5) # 0.006209665, 0.00621</code></pre>
<pre><code>## [1] 0.006209665</code></pre>
<pre class="r"><code>ind &lt;- c()
i &lt;- 1</code></pre>
<p>The ‘ind’ vector contains the value 0 and 1, indicating whether the
‘z’ is greater than 2.5. We continue these steps until the difference
between the average of all the ‘ind’ vector elements and 0.00621 are
less than 0.000005.</p>
<pre class="r"><code>while(1){
  z &lt;- rnorm(1)
  ind[i] &lt;- as.numeric(z&gt;2.5)
  
  if(abs(mean(ind)-(0.00621)) &lt; 0.000005){break}
  i &lt;- i+1
}</code></pre>
<p>The Monte Carlo estimates are 0.00621118, and the number of
interation is 322.</p>
<pre class="r"><code>mean(ind) # 0.00621118</code></pre>
<pre><code>## [1] 0.00621118</code></pre>
<pre class="r"><code>length(ind) # 322</code></pre>
<pre><code>## [1] 322</code></pre>
</div>
<div id="b-compare-the-number-of-variables-needed-to-obtain-three-digits-of-accuracy-with-importance-sampling-to-the-answers-obtained-from-above." class="section level3">
<h3>(b) Compare the number of variables needed to obtain three digits of
accuracy with importance sampling to the answers obtained from
above.</h3>
<p>Given the target and proposal density <span class="math inline">\(f\)</span> and <span class="math inline">\(g\)</span>, the Importance Sampling algorithm for
estimating <span class="math inline">\(\mathbb E_{X\sim
f}[h(X)]\)</span> is as follows:</p>
<ol style="list-style-type: decimal">
<li>Sample <span class="math inline">\(X_i\)</span> from <span class="math inline">\(g\)</span></li>
<li>Calculate the weight <span class="math inline">\(w(X_i) =
f(X_i)/g(X_i)\)</span>.</li>
<li>Repeat 1 and 2 for desired number of iteration (<span class="math inline">\(n\)</span>), and take an average of all <span class="math inline">\(h(X)w(X)\)</span>. That is, <span class="math display">\[\hat{\mathbb E_f[h(X)]} =
\frac{1}{n}\sum_{i=1}^nh(X_i)w(X_i).\]</span></li>
</ol>
<p>The pdf value of target density <span class="math inline">\(f\)</span> at <span class="math inline">\(x=2.5\)</span> is extremely low; about 0.0175. So.
we need a proposal density <span class="math inline">\(g\)</span> so
that the tail probability of <span class="math inline">\(g\)</span> is
greater than <span class="math inline">\(f\)</span>. If the proposal
density is <span class="math inline">\(\text{Exp}(1)\)</span> truncated
at <span class="math inline">\(x=2.5\)</span>, <span class="math inline">\(g(x) = \exp\{-(x-2.5)\}, x&gt;2.5\)</span> and
<span class="math display">\[\begin{aligned}
\frac{f(x)}{g(x)} &amp;= \frac{1}{\sqrt{2\pi}}\exp\Bigl\{-\frac{1}{2}x^2
+ x - 2.5 \Bigr\} \\
&amp;= \frac{1}{\sqrt{2\pi}}\exp\Bigl\{-\frac{1}{2}(x-1)^2-2\Bigr\} \\
&amp;\le  \frac{1}{\sqrt{2\pi}}\exp\{-2\} \\
&amp;\approx 0.05399,\qquad \forall x&gt;2.5
\end{aligned}\]</span> This shows <span class="math inline">\(g\)</span>
satisfies the condition of the proposal density of importance
sampling.</p>
<pre class="r"><code>set.seed(2023311161)

dnorm(2.5) # 0.0175283</code></pre>
<pre><code>## [1] 0.0175283</code></pre>
<pre class="r"><code>1/sqrt(2*pi)*exp(-2) # 0.05399097</code></pre>
<pre><code>## [1] 0.05399097</code></pre>
<p>The <span class="math inline">\(h(X)\)</span> for this problem is the
indicator function <span class="math inline">\(\mathbb{1}(X &gt;
2.5)\)</span>. So, the importance sampling algorithm is written as
follows:</p>
<pre class="r"><code>ind_is &lt;- c()
i &lt;- 1

while(1){
  y &lt;- rexp(1)+2.5 # truncated at 2.5
  ind_is[i] &lt;- dnorm(y)/dexp(y-2.5)*as.numeric(y &gt; 2.5)
  
  if(abs(mean(ind_is) - 0.00621) &lt; 0.000005){break}
  i &lt;- i+1
}</code></pre>
<p>The estimated value of the probability using importance sampling is
0.006210526 and the number of iteration is 206.</p>
<pre class="r"><code>mean(ind_is) # 0.006210526</code></pre>
<pre><code>## [1] 0.006210526</code></pre>
<pre class="r"><code>length(ind_is) # 206</code></pre>
<pre><code>## [1] 206</code></pre>
</div>
</div>
<div id="compute-int_01-frace-x1x2dx-using-control-variate-method.-hint.-cy-frace-0.51y2" class="section level2">
<h2>3. Compute <span class="math inline">\(\int_0^1
\frac{e^{-x}}{1+x^2}dx\)</span> using control variate method. (hint.
<span class="math inline">\(c(y) = \frac{e^{-0.5}}{1+y^2}\)</span>)</h2>
<p>The integral <span class="math inline">\(\int_0^1
\frac{e^{-x}}{1+x^2}dx\)</span> can be viewed as an expectation as
follows: <span class="math display">\[\int_0^1
\frac{e^{-x}}{1+x^2}\cdot1dx = \mathbb
E_{X}\biggl[\frac{e^{-X}}{1+X^2}\biggr],\]</span> where <span class="math inline">\(X \sim \text{Unif}(0,1)\)</span>. The theoretical
value of the integral is 0.5247971.</p>
<pre class="r"><code>rm(list = ls())
set.seed(2023311161)

n &lt;- 100000

h &lt;- function(x) {
  exp(-x)/(1+x^2)
}

integrate(h, 0, 1)$value # 0.5247971</code></pre>
<pre><code>## [1] 0.5247971</code></pre>
<p>Instead of simple Monte Carlo method, we may use another random
variable <span class="math inline">\(c(X) =
\frac{e^{-0.5}}{1+X^2}\)</span> so that <span class="math inline">\(\theta = \int_0^1 \frac{e^{-0.5}}{1+x^2}dx \approx
0.476\)</span>.</p>
<pre class="r"><code>c_y &lt;- function(y) {
  exp(-0.5)/(1+y^2)
}

theta &lt;- integrate(c_y, 0, 1)$value # 0.4763681</code></pre>
<p>Instead of using distinct random variable <span class="math inline">\(Y\)</span> as written in the lecture note (page
21), we will use the same <span class="math inline">\(X\)</span> to
generate <span class="math inline">\(c(X)\)</span> and corresponding
<span class="math inline">\(\hat\theta_{MC}\)</span>. Then, the control
variate estimator is <span class="math display">\[\hat\mu_{CV} =
\hat\mu_{MC} + \lambda(\hat\theta_{MC} - \theta),\]</span> where <span class="math inline">\(\hat\mu_{MC}\)</span> and <span class="math inline">\(\hat\theta_{MC}\)</span> are Monte Carlo
estimators of <span class="math inline">\(\int_0^1
\frac{e^{-x}}{1+x^2}dx\)</span> and <span class="math inline">\(\int_0^1
\frac{e^{-0.5}}{1+x^2}dx\)</span> respectively, and <span class="math display">\[\lambda = -\frac{\text{Cov}[\hat\mu_{MC},
\hat\theta_{MC}]}{\text{Var}[\hat\theta_{MC} ] }.\]</span> We may
estimate the covariance and variance using vectors of <span class="math inline">\(h(x) := \frac{e^{-x}}{1+x^2}\)</span> and <span class="math inline">\(c(x)\)</span> respectively.</p>
<pre class="r"><code>xs &lt;- runif(n)
hs &lt;- h(xs)
c_ys &lt;- c_y(xs)

cov_h_c &lt;- cov(hs, c_ys) # 0.02337966
lambda &lt;- -cov_h_c/var(c_ys)

mu_mc &lt;- mean(hs)
theta_mc &lt;- mean(c_ys)

mu_cv &lt;- mu_mc + lambda*(theta_mc - theta)</code></pre>
<p>Thus, the estimated integral using control variate is 0.5251. For
reference, the estimates using Monte Carlo is 0.5260.</p>
<pre class="r"><code>mu_cv # 0.5251436</code></pre>
<pre><code>## [1] 0.5251436</code></pre>
<pre class="r"><code>mu_mc # 0.5260371</code></pre>
<pre><code>## [1] 0.5260371</code></pre>
</div>




</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

</body>
</html>


</div>]]></content><author><name>Han Jun Ko</name></author><category term="Monte Carlo Methods" /><summary type="html"><![CDATA[Multivariate Analysis MVA HW1 MVA HW2 MVA HW3 MVA HW4 MVA Final Project Measure Theory Ch1 : Ex.01 ~ Ex.18 Ch1 : Ex.19 ~ Ex.38 Ch2 : Ex.01 ~ Ex.11 Ch2 : Ex.12 ~ Ex.24 Ch3 : Ex.01 ~ Ex.11 Ch3 : Ex.12 ~ Ex.20 Ch3 : Ex.21 ~ Ex.32 Ch3 : Extra Questions Ch4 : Ex.01 ~ Ex.09 Ch4 : Ex.10 ~ Ex.20 Ch4 : Ex.21 ~ Ex.28 Ch4 : Ex.29 ~ Ex.35 Elements of Statistical Learning ESL CH3 ESL CH4 ESL CH5 ESL CH7 ESL CH12 Bayesian Statistics Bayes HW1 Bayes HW2 Bayes HW3 Bayes HW4 Bayes HW5 Bayes HW6 Bayes Project 1 Bayes Project 2 Statistical Computing SC HW1 SC HW2 SC HW3 SC HW4 SC HW5 SC HW6 SC HW7 SC HW8 Monte Carlo Methods MCMC HW1 MCMC HW2 MCMC HW3 MCMC HW4 MCMC HW5 MCMC HW6 Industrial Academic Cooperation Big Data Analysis Introduction Finance Data Analysis Marketing Data Analysis Data Science Institute Introduction Consultation 1 Consultation 2 Consultation 3 Consultation 4 Consultation 5]]></summary></entry></feed>