<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Computational Social Science Research Notes on Hunter Heidenreich | ML Research Scientist</title><link>https://hunterheidenreich.com/notes/interdisciplinary/social-science/</link><description>Recent content in Computational Social Science Research Notes on Hunter Heidenreich | ML Research Scientist</description><image><title>Hunter Heidenreich | ML Research Scientist</title><url>https://hunterheidenreich.com/img/avatar.webp</url><link>https://hunterheidenreich.com/img/avatar.webp</link></image><generator>Hugo -- 0.147.7</generator><language>en-US</language><copyright>2026 Hunter Heidenreich</copyright><lastBuildDate>Sat, 14 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hunterheidenreich.com/notes/interdisciplinary/social-science/index.xml" rel="self" type="application/rss+xml"/><item><title>Tea Party in the House: Legislative Ideology via HIPTM</title><link>https://hunterheidenreich.com/notes/interdisciplinary/social-science/tea-party-hiptm/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://hunterheidenreich.com/notes/interdisciplinary/social-science/tea-party-hiptm/</guid><description>A hierarchical probabilistic model combining roll call votes, bill text, and legislative speeches to analyze political polarization and framing.</description><content:encoded><![CDATA[<h2 id="what-kind-of-paper-is-this">What kind of paper is this?</h2>
<p><strong>Method</strong>.</p>
<p>This paper is primarily a <strong>Methodological</strong> contribution. It proposes a novel probabilistic architecture, the Hierarchical Ideal Point Topic Model (HIPTM), designed to solve the specific limitations of existing political science models that typically rely on either voting data or text data in isolation. The paper validates this method by demonstrating its superior performance in predicting &ldquo;Tea Party&rdquo; membership compared to text-only baselines and its ability to provide interpretable &ldquo;framing&rdquo; analysis.</p>
<h2 id="what-is-the-motivation">What is the motivation?</h2>
<p>The primary motivation is to better understand political polarization, specifically the &ldquo;Tea Party&rdquo; phenomenon within the Republican party during the 112th Congress.</p>
<p>An ideal point is a scalar score representing a legislator&rsquo;s ideological position, estimated from voting patterns. Standard &ldquo;Ideal Point&rdquo; models (like DW-NOMINATE) typically project legislators onto a single liberal-conservative dimension using only binary voting data. This is insufficient for capturing complex, multi-dimensional intra-party conflicts where legislators might agree on votes but differ on policy &ldquo;framing&rdquo; or specific sub-issues. Furthermore, existing multi-dimensional models often produce dimensions that are difficult for humans to interpret.</p>
<h2 id="what-is-the-novelty-here">What is the novelty here?</h2>
<p>The core novelty is the <strong>Hierarchical Ideal Point Topic Model (HIPTM)</strong>. It distinguishes itself from prior work through three main technical innovations:</p>
<ol>
<li><strong>Joint Modeling of Three Data Sources</strong>: It integrates roll call votes, the text of bills, and the floor speeches of legislators into a single probabilistic framework.</li>
<li><strong>Hierarchical Topic Structure</strong>: It models &ldquo;frames&rdquo; as a second level of the topic hierarchy. &ldquo;Issues&rdquo; (level 1) are fixed and non-polarized, while &ldquo;Frames&rdquo; (level 2) are discovered dynamically and carry polarity (ideal point weights). For example, Health Care is an issue; &ldquo;government overreach&rdquo; vs. &ldquo;patient protection&rdquo; are frames legislators use when debating it.</li>
<li><strong>Text-Based Ideal Point Prediction</strong>: HIPTM regresses ideal points on speech text, allowing it to predict the political alignment of legislators based solely on their writing or speeches without requiring voting records for inference.</li>
</ol>
<h2 id="what-experiments-were-performed">What experiments were performed?</h2>
<p>The authors validated the model using data from the 112th U.S. Congress (Republican legislators only).</p>
<ul>
<li><strong>Prediction Task</strong>: Classifying legislators as members of the &ldquo;Tea Party Caucus&rdquo;.</li>
<li><strong>Baselines</strong>: The model was compared against Support Vector Machines (SVM) trained on:
<ul>
<li>TF-IDF vectors (Text only)</li>
<li>Normalized TF-IDF vectors (Text only)</li>
<li>Binary Vote vectors (Vote only)</li>
</ul>
</li>
<li><strong>Metric</strong>: Area Under the Receiver Operating Characteristic Curve (AUC-ROC) via 5-fold cross-validation.</li>
<li><strong>Qualitative Analysis</strong>: The authors examined the &ldquo;span&rdquo; of ideal points within specific topics (e.g., Macroeconomics, Health) to identify which issues were most polarized between Tea Party and Establishment Republicans.</li>
</ul>
<h2 id="what-were-the-outcomes-and-conclusions-drawn">What were the outcomes and conclusions drawn?</h2>
<ul>
<li><strong>Quantitative Performance</strong>: HIPTM features combined with voting data (HIPTM-VOTE) achieved the highest classification performance (AUC-ROC in the ~0.70-0.75 range, approximate, read from Figure 2). Vote-only features slightly trail HIPTM-VOTE, while text-only baselines (TF-IDF, normalized TF-IDF) fall considerably lower. The one-dimensional Tea Party ideal points correlate with DW-NOMINATE ($\rho = 0.91$). When voting data was withheld (simulating a candidate without a record), HIPTM&rsquo;s text-based features outperformed standard text baselines TF-IDF and normalized TF-IDF (approximate, read from Figure 3).</li>
<li><strong>Political Insight</strong>: The model identified &ldquo;Government Operations,&rdquo; &ldquo;Macroeconomics,&rdquo; and &ldquo;Transportation&rdquo; as the three most polarized topics between Tea Party and establishment Republicans.</li>
<li><strong>Framing Analysis</strong>: The hierarchical topic structure reveals how legislators frame issues differently. For Macroeconomics, frame M3 (most Tea Party-oriented) focuses on criticizing government overspending, while frame M1 (least Tea Party-oriented) focuses on the downsides of a government shutdown. For Health, frame H3 captures Tea Party framing of the Affordable Care Act as an unconstitutional government takeover, while frame H1 frames opposition in terms of implementation costs and health care exchanges.</li>
<li><strong>Framing vs. Voting Taxonomy</strong>: The authors construct a 2x2 taxonomy of disagreement across issues, crossing whether ideal points are polarized with whether issue frames are polarized. Issues like Civil Rights fall in the &ldquo;neither polarized&rdquo; quadrant, where cooperation is expected. Banking/Finance and Transportation fall in the &ldquo;ideal points polarized, frames not&rdquo; quadrant, where Republicans frame the issue similarly but have underlying policy disagreements. Issues like Health and Public Lands fall in the &ldquo;frames polarized, ideal points not&rdquo; quadrant: Republicans voted similarly but framed the issue very differently. Issues like Macroeconomics and Government Operations fall in the &ldquo;both polarized&rdquo; quadrant, posing the greatest challenge for Republican leadership.</li>
<li><strong>Sub-group Identification</strong>: The model identifies legislators whose language marks them as ideologically aligned with the Tea Party even without formal caucus membership. For example, Jeff Flake (R-AZ) received the second-highest ideal point, disagreeing with Freedom Works on only one of 60 key votes, despite not being a Tea Party Caucus member. Justin Amash (R-MI), founder and chairman of the Liberty Caucus, agreed with Freedom Works on every key vote since 2011. Conversely, some self-identified Tea Partiers like Rodney Alexander (R-LA) only agreed with Freedom Works 48% of the time. Alexander and Ander Crenshaw (R-FL, 50% agreement) are categorized as &ldquo;Green Tea&rdquo; by Gervais and Morris (2014): Republican legislators who associate with the Tea Party on their own initiative but lack support from Tea Party organizations.</li>
</ul>
<h3 id="limitations">Limitations</h3>
<ul>
<li>HIPTM does not formally distinguish frames from other kinds of subtopics. For example, the model discovered a strongly Tea Party-oriented frame under &ldquo;Labor, Employment and Immigration&rdquo; that reflected a Boeing labor dispute specific to South Carolina legislators, capturing geographic rather than ideological framing.</li>
<li>The model is validated only on Republican legislators in the 112th Congress. Generalization to other parties, chambers, or time periods is untested.</li>
</ul>
<hr>
<h2 id="reproducibility-details">Reproducibility Details</h2>
<h3 id="data">Data</h3>
<p>The study focuses on the <strong>112th U.S. Congress</strong> (Jan 2011 - Jan 2013).</p>
<table>
  <thead>
      <tr>
          <th>Purpose</th>
          <th>Dataset</th>
          <th>Size</th>
          <th>Notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Subjects</strong></td>
          <td>Republican Legislators</td>
          <td>240 Reps</td>
          <td>60 are Tea Party Caucus members.</td>
      </tr>
      <tr>
          <td><strong>Votes</strong></td>
          <td>Roll Call Votes</td>
          <td>13,856 votes</td>
          <td>Agreement/disagreement with Freedom Works on 60 key votes (40 in 2011, 20 in 2012).</td>
      </tr>
      <tr>
          <td><strong>Text</strong></td>
          <td>Floor Speeches</td>
          <td>5,349 word types</td>
          <td>Sourced from GovTrack. Vocabulary size after preprocessing.</td>
      </tr>
      <tr>
          <td><strong>Priors</strong></td>
          <td>Congressional Bills Project</td>
          <td>19 Topics</td>
          <td>Used to set informed priors $\phi^*_k$ for top-level issues.</td>
      </tr>
  </tbody>
</table>
<h3 id="algorithms">Algorithms</h3>
<p>The model uses a <strong>Stochastic EM</strong> approach for inference.</p>
<ul>
<li><strong>Generative Process</strong>:
<ul>
<li><strong>Speeches</strong>: Modeled as a mixture of $K$ Hierarchical Dirichlet Processes (HDPs). A legislator chooses an issue $z$, then a frame $t$ from a Dirichlet Process, then a word $w$.</li>
<li><strong>Bills</strong>: Modeled using Latent Dirichlet Allocation (LDA). Each bill is a mixture over $K$ issues.</li>
<li><strong>Votes</strong>: Modeled via a probabilistic ideal point function (logistic/inverse-logit). The probability of a &ldquo;Yes&rdquo; vote depends on the bill&rsquo;s polarity $x_b$, popularity $y_b$, and the legislator&rsquo;s issue-specific ideal point $u_{a,k}$.</li>
</ul>
</li>
<li><strong>Optimization Steps</strong>:
<ol>
<li><strong>Sampling</strong>: Issue assignments $z$ and frame assignments $t$ are sampled for tokens in speeches and bills.</li>
<li><strong>Regression</strong>: Frame-specific regression weights $\eta_{k,j}$ are optimized using <strong>L-BFGS</strong>.</li>
<li><strong>Ideal Points</strong>: Legislator ideal points $u_{a,k}$ and bill parameters ($x_b, y_b$) are updated using <strong>Gradient Ascent</strong>.</li>
</ol>
</li>
</ul>
<h3 id="models">Models</h3>
<ul>
<li><strong>Ideal Point Definition</strong>: A legislator&rsquo;s ideal point on issue $k$ ($u_{a,k}$) is defined as a linear combination of the ideal points of the <em>frames</em> they use ($\eta_{k,j}$), weighted by their usage frequency ($\hat{\psi}_{a,k,j}$).</li>
<li><strong>Topic Hierarchy</strong>:
<ul>
<li><strong>Level 1 (Issues)</strong>: Fixed at $K=19$ (based on Policy Agendas Project major headings). These nodes use informed Dirichlet priors.</li>
<li><strong>Level 2 (Frames)</strong>: Unbounded number of frames per issue, discovered non-parametrically via Dirichlet Process.</li>
</ul>
</li>
<li><strong>Prediction Features</strong>: The model runs for 1,000 iterations total with a 500-iteration burn-in. After burn-in, the sampled state is kept every 50 iterations, and feature values are averaged over the 10 stored models.</li>
</ul>
<h3 id="evaluation">Evaluation</h3>
<ul>
<li><strong>Primary Metric</strong>: AUC-ROC (Area Under the Receiver Operating Characteristic Curve).</li>
<li><strong>Classifier</strong>: $\text{SVM}^{\text{light}}$ (Joachims, 1999).</li>
<li><strong>Cross-Validation</strong>: 5-fold stratified sampling.</li>
</ul>
<h3 id="artifacts">Artifacts</h3>
<table>
  <thead>
      <tr>
          <th>Artifact</th>
          <th>Type</th>
          <th>License</th>
          <th>Notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://www.govtrack.us/">GovTrack Congressional Speeches</a></td>
          <td>Dataset</td>
          <td>Public</td>
          <td>Source of floor speech text</td>
      </tr>
      <tr>
          <td><a href="http://www.congressionalbills.org/">Congressional Bills Project</a></td>
          <td>Dataset</td>
          <td>Public</td>
          <td>Bill text with Policy Agendas Project topic labels</td>
      </tr>
      <tr>
          <td>Freedom Works Key Votes</td>
          <td>Dataset</td>
          <td>Public</td>
          <td>60 key votes used to define Tea Party alignment (freedomworks.org is no longer available)</td>
      </tr>
  </tbody>
</table>
<p>No official code release accompanies this paper. The inference algorithm (Stochastic EM with Gibbs sampling, L-BFGS, and gradient ascent) is described in detail in Section 4 of the paper, but a full reimplementation would be required.</p>
<hr>
<h2 id="paper-information">Paper Information</h2>
<p><strong>Citation</strong>: Nguyen, V., Boyd-Graber, J., Resnik, P., &amp; Miler, K. (2015). Tea Party in the House: A Hierarchical Ideal Point Topic Model and Its Application to Republican Legislators in the 112th Congress. <em>Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics</em>, 1438-1448. <a href="https://doi.org/10.3115/v1/P15-1139">https://doi.org/10.3115/v1/P15-1139</a></p>
<p><strong>Publication</strong>: ACL 2015</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bibtex" data-lang="bibtex"><span style="display:flex;"><span><span style="color:#a6e22e">@inproceedings</span>{nguyenTeaPartyHouse2015,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">title</span> = <span style="color:#e6db74">{Tea {{Party}} in the {{House}}: {{A Hierarchical Ideal Point Topic Model}} and {{Its Application}} to {{Republican Legislators}} in the 112th {{Congress}}}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">shorttitle</span> = <span style="color:#e6db74">{Tea {{Party}} in the {{House}}}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">booktitle</span> = <span style="color:#e6db74">{Proceedings of the 53rd {{Annual Meeting}} of the {{Association}} for {{Computational Linguistics}} and the 7th {{International Joint Conference}} on {{Natural Language Processing}} ({{Volume}} 1: {{Long Papers}})}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">author</span> = <span style="color:#e6db74">{Nguyen, Viet-An and {Boyd-Graber}, Jordan and Resnik, Philip and Miler, Kristina}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">year</span> = <span style="color:#e6db74">{2015}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">pages</span> = <span style="color:#e6db74">{1438--1448}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">publisher</span> = <span style="color:#e6db74">{Association for Computational Linguistics}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">address</span> = <span style="color:#e6db74">{Beijing, China}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">doi</span> = <span style="color:#e6db74">{10.3115/v1/P15-1139}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">urldate</span> = <span style="color:#e6db74">{2023-11-02}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">abstract</span> = <span style="color:#e6db74">{We introduce the Hierarchical Ideal Point Topic Model, which provides a rich picture of policy issues, framing, and voting behavior using a joint model of votes, bill text, and the language that legislators use when debating bills. We use this model to look at the relationship between Tea Party Republicans and ``establishment&#39;&#39; Republicans in the U.S. House of Representatives during the 112th Congress.}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">langid</span> = <span style="color:#e6db74">{english}</span>
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p><strong>Additional Resources</strong>:</p>
<ul>
<li><a href="https://aclanthology.org/P15-1139/">ACL Anthology: Tea Party in the House</a></li>
<li>Gervais, B. T., &amp; Morris, I. L. (2012). Reading the tea leaves: Understanding Tea Party Caucus membership in the US House of Representatives. <em>PS: Political Science &amp; Politics</em>, 45(2), 245-250.</li>
<li>Gervais, B. T., &amp; Morris, I. L. (2014). Black Tea, Green Tea, White Tea, and Coffee: Understanding the variation in attachment to the Tea Party among members of Congress. In <em>Annual Meeting of the American Political Science Association</em>. (Source of the &ldquo;Green Tea&rdquo; Republican taxonomy cited in the paper)</li>
</ul>
]]></content:encoded></item><item><title>Party Matters: Enhancing Legislative Vote Embeddings</title><link>https://hunterheidenreich.com/notes/interdisciplinary/social-science/party-matters-hiptm/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://hunterheidenreich.com/notes/interdisciplinary/social-science/party-matters-hiptm/</guid><description>A method for improving legislative vote prediction across sessions by augmenting bill text embeddings with sponsor metadata.</description><content:encoded><![CDATA[<h2 id="what-kind-of-paper-is-this">What kind of paper is this?</h2>
<p>This is a <strong>Method</strong> paper. It proposes a novel neural architecture that modifies how bill embeddings are constructed by explicitly incorporating sponsor metadata alongside text. The authors validate this method by comparing it against text-only baselines (MWE and CNN) and demonstrating superior performance in a newly defined &ldquo;out-of-session&rdquo; evaluation setting.</p>
<h2 id="what-is-the-motivation">What is the motivation?</h2>
<p>Existing models for predicting legislative roll-call votes rely heavily on text or voting history within a single session. However, these models fail to generalize across sessions because the underlying data generation process changes. Specifically, the ideological position of bills on similar topics shifts depending on which party is in power. A model trained on a single session learns an implicit ideological prior that becomes inaccurate when the political context changes in subsequent sessions.</p>
<h2 id="what-is-the-novelty-here">What is the novelty here?</h2>
<p>The core novelty is a neural architecture that augments bill text representations with sponsor ideology, specifically the percentage of Republican vs. Democrat sponsors.</p>
<ul>
<li><strong>Sponsor-Weighted Embeddings</strong>: They compute a composite embedding where the text representation is weighted by party sponsorship percentages ($p_{r}, p_{d}$) and party-specific influence vectors ($a_{r}, a_{d}$).</li>
<li><strong>Out-of-Session Evaluation</strong>: They introduce a rigorous evaluation setting where models trained on past sessions (e.g., 2005-2012) are tested on future sessions (e.g., 2013-2014) to test generalization, which previous work had ignored.</li>
</ul>
<h2 id="what-experiments-were-performed">What experiments were performed?</h2>
<p>The authors evaluated their models using a dataset of U.S. Congressional bills from 2005 to 2016.</p>
<ul>
<li><strong>Models Tested</strong>: They compared text-only models (MWE (Mean Word Embedding), CNN) against metadata-augmented versions (MWE+Meta, CNN+Meta) and a &ldquo;Meta-Only&rdquo; baseline (using dummy text).</li>
<li><strong>Settings</strong>:
<ul>
<li><strong>In-Session</strong>: 5-fold cross-validation on 2005-2012 data.</li>
<li><strong>Out-of-Session</strong>: Training on 2005-2012 and testing on 2013-2014 and 2015-2016.</li>
</ul>
</li>
<li><strong>Baselines</strong>: Comparisons included a &ldquo;Guess Yes&rdquo; baseline and an SVM trained on bag-of-words summaries with sponsor indicators.</li>
</ul>
<h2 id="what-outcomesconclusions">What outcomes/conclusions?</h2>
<ul>
<li><strong>Metadata is Critical</strong>: Augmenting text with sponsor metadata consistently outperformed text-only models. The <code>CNN+Meta</code> model achieved the highest accuracy in-session (86.21% vs. 83.24% for CNN) and on 2013-2014 out-of-session (83.59%), while <code>MWE+Meta</code> achieved the best 2015-2016 accuracy (71.90%).</li>
<li><strong>Generalization</strong>: Text-only models degraded significantly in out-of-session testing. For example, CNN dropped from 83.24% in-session to 77.49% on 2013-2014 and 69.63% on 2015-2016, confirming that text alone fails to capture shifting ideological contexts.</li>
<li><strong>Sponsor Signal</strong>: The <code>Meta-Only</code> model (using no text) outperformed text-only models in the 2013-2014 out-of-session test (82.28% vs. 77.57% for MWE), suggesting that in some contexts, the author&rsquo;s identity provides a stronger predictive signal than the bill&rsquo;s content.</li>
<li><strong>2015-2016 Difficulty</strong>: All models performed worse on the 2015-2016 session, where intra-party divisions within the House Republican caucus disrupted typical voting dynamics.</li>
</ul>
<hr>
<h2 id="reproducibility-details">Reproducibility Details</h2>
<h3 id="data">Data</h3>
<ul>
<li><strong>Source</strong>: Collected from GovTrack. The paper text references the &ldquo;106th to 111th&rdquo; Congressional sessions, but the data tables show coverage from 2005 to 2016, which corresponds to the 109th through 114th sessions.</li>
<li><strong>Content</strong>: Non-unanimous roll call votes, full text of bills/resolutions, and Congressional Research Service (CRS) summaries.</li>
<li><strong>Filtering</strong>: Bills with unanimous votes were excluded.</li>
<li><strong>Preprocessing</strong>:
<ul>
<li>Text lowercased and stop-words removed.</li>
<li>Summaries truncated to $N=400$ words; full text truncated to $N=2000$ words (80th percentile lengths).</li>
</ul>
</li>
<li><strong>Splits</strong>:
<ul>
<li><em>Training</em>: Sessions 2005-2012 (1718 bills).</li>
<li><em>Testing</em>: Sessions 2013-2014 (360 bills) and 2015-2016 (382 bills).</li>
</ul>
</li>
</ul>
<h3 id="algorithms">Algorithms</h3>
<ul>
<li><strong>Bill Representation ($v_{B}$)</strong>:
$$v_{B}=((a_{r}p_{r})\cdot T_{r})+((a_{d}p_{d})\cdot T_{d})$$
Where $T$ is the text embedding (CNN or MWE), $p$ is the percentage of sponsors from a party, and $a$ is a learnable party influence vector. $T_{r}$ and $T_{d}$ are Republican and Democratic copies of the same bill&rsquo;s text representation, each weighted by the corresponding party&rsquo;s sponsorship proportion.</li>
<li><strong>Vote Prediction</strong>:
<ul>
<li>Project bill embedding to legislator space: $v_{BL}=W_{B}v_{B}+b_{B}$.</li>
<li>Alignment score: $W_{v}(v_{BL}\odot v_{L})+b_{v}$ (using element-wise multiplication).</li>
<li>Output: Sigmoid activation.</li>
</ul>
</li>
<li><strong>Optimization</strong>: AdaMax algorithm with binary cross-entropy loss.</li>
</ul>
<h3 id="models">Models</h3>
<ul>
<li><strong>Text Encoders</strong>:
<ul>
<li><strong>CNN</strong>: 4-grams with 400 filter maps.</li>
<li><strong>MWE</strong>: <a href="/posts/intro-to-word-embeddings/">Mean Word Embedding</a>.</li>
</ul>
</li>
<li><strong>Embeddings</strong>:
<ul>
<li>Initialized with 50-dimensional GloVe vectors.</li>
<li>Embeddings are non-static (updated during training).</li>
<li>Legislator embedding size ($v_{L}$): 25 dimensions.</li>
</ul>
</li>
<li><strong>Initialization</strong>: Weights initialized with Glorot uniform distribution.</li>
</ul>
<h3 id="evaluation">Evaluation</h3>
<ul>
<li><strong>Metrics</strong>: Accuracy.</li>
<li><strong>Comparison</strong>:
<ul>
<li><strong>In-session</strong>: 5-fold cross-validation.</li>
<li><strong>Out-of-session</strong>: Train on past sessions, predict future sessions.</li>
</ul>
</li>
</ul>
<h3 id="hardware">Hardware</h3>
<ul>
<li><strong>Training Config</strong>: Models trained for 50 epochs with mini-batches of size 50. No specific GPU or compute requirements are reported.</li>
</ul>
<h3 id="artifacts">Artifacts</h3>
<table>
  <thead>
      <tr>
          <th>Artifact</th>
          <th>Type</th>
          <th>License</th>
          <th>Notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://www.govtrack.us/">GovTrack</a></td>
          <td>Dataset</td>
          <td>Public</td>
          <td>Source for bill texts and roll-call votes</td>
      </tr>
  </tbody>
</table>
<p>No official code repository or pretrained models were released with this paper.</p>
<hr>
<h2 id="paper-information">Paper Information</h2>
<p><strong>Citation</strong>: Kornilova, A., Argyle, D., &amp; Eidelman, V. (2018). Party Matters: Enhancing Legislative Embeddings with Author Attributes for Vote Prediction. <em>Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers)</em>, 510-515. <a href="https://doi.org/10.18653/v1/p18-2081">https://doi.org/10.18653/v1/p18-2081</a></p>
<p><strong>Publication</strong>: ACL 2018</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bibtex" data-lang="bibtex"><span style="display:flex;"><span><span style="color:#a6e22e">@inproceedings</span>{kornilovaPartyMattersEnhancing2018,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">title</span> = <span style="color:#e6db74">{Party {{Matters}}: {{Enhancing Legislative Embeddings}} with {{Author Attributes}} for {{Vote Prediction}}}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">shorttitle</span> = <span style="color:#e6db74">{Party {{Matters}}}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">author</span> = <span style="color:#e6db74">{Kornilova, Anastassia and Argyle, Daniel and Eidelman, Vlad}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">year</span> = <span style="color:#e6db74">{2018}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">booktitle</span> = <span style="color:#e6db74">{Proceedings of the 56th {{Annual Meeting}} of the {{Association}} for {{Computational Linguistics}} ({{Volume}} 2: {{Short Papers}})}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">pages</span> = <span style="color:#e6db74">{510--515}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">publisher</span> = <span style="color:#e6db74">{Association for Computational Linguistics}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">address</span> = <span style="color:#e6db74">{Melbourne, Australia}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">doi</span> = <span style="color:#e6db74">{10.18653/v1/p18-2081}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">eprint</span> = <span style="color:#e6db74">{1805.08182}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">archiveprefix</span> = <span style="color:#e6db74">{arXiv}</span>,
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div>]]></content:encoded></item><item><title>A Spatial Model for Legislative Roll Call Analysis</title><link>https://hunterheidenreich.com/notes/interdisciplinary/social-science/nominate-1985/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://hunterheidenreich.com/notes/interdisciplinary/social-science/nominate-1985/</guid><description>Introduces NOMINATE, a probabilistic spatial model estimating legislator ideal points from roll call data via maximum likelihood.</description><content:encoded><![CDATA[<h2 id="what-kind-of-paper-is-this">What kind of paper is this?</h2>
<p>This is a <strong>Methodological ($\Psi_{\text{Method}}$)</strong> paper. It introduces a &ldquo;general nonlinear logit model&rdquo; and a specific estimation algorithm (<strong>NOMINATE</strong>) to analyze political choice data. The paper focuses on deriving a metric spatial map from nominal data (yea/nay votes). It validates this method by comparing it against existing techniques like Guttman scaling and factor analysis, demonstrating that the new method recovers geometric structures that previous methods obscured.</p>
<h2 id="what-is-the-motivation">What is the motivation?</h2>
<p>Prior research relied on &ldquo;black box&rdquo; statistical methods (like factor analysis or nonmetric scaling) or Guttman scaling to analyze legislative behavior. These methods had significant limitations:</p>
<ul>
<li><strong>Metric Recovery</strong>: They struggled to accurately recover the underlying Euclidean coordinates of legislators and choices from nominal data.</li>
<li><strong>Dimensionality</strong>: They tended to exaggerate the number of dimensions (issues) because they did not account for probabilistic error in voting.</li>
<li><strong>Identification</strong>: Pure Guttman scaling (assuming perfect voting) identifies only the order of legislators, leaving the location of policy alternatives unknown.</li>
</ul>
<p>The authors sought to bridge the &ldquo;crucial gap&rdquo; between spatial theory and data by developing a model-driven procedure that simultaneously estimates the locations of choosers and choices while accounting for error.</p>
<h2 id="what-is-the-novelty-here">What is the novelty here?</h2>
<p>The core contribution is the <strong>NOMINATE</strong> (Nominal Three-step Estimation) procedure. Key innovations include:</p>
<ul>
<li><strong>Simultaneous Estimation</strong>: This method estimates coordinates for <em>both</em> the legislators ($x_i$) and the roll call outcomes ($z_{jl}$) in a common space simultaneously.</li>
<li><strong>Probabilistic Utility</strong>: It employs a specific bell-shaped utility function with a stochastic error term (log of the inverse exponential), allowing for a tractable probabilistic voting model.</li>
<li><strong>Metric Unfolding</strong>: It successfully performs &ldquo;unfolding methodology for nominal level data,&rdquo; recovering metric distances solely from binary choices.</li>
</ul>
<h2 id="what-experiments-were-performed">What experiments were performed?</h2>
<p>The authors validated the model through both historical data analysis and synthetic testing:</p>
<ul>
<li><strong>US House Analysis (1957-58)</strong>: Analyzed 172 roll calls from the 85th Congress to compare NOMINATE results against Miller and Stokes&rsquo; influential Guttman scales.</li>
<li><strong>US Senate Analysis (1979-1982)</strong>: Performed separate estimations for four years of Senate voting to assess stability and validity.</li>
<li><strong>Monte Carlo Simulations</strong>: Generated synthetic data (98 legislators and 291 roll calls in most runs, 50 legislators in one run) for different values of $\beta$ to test the robustness of parameter recovery under known &ldquo;truth&rdquo; conditions.</li>
<li><strong>Robustness Checks</strong>: Tested sensitivity to &ldquo;perfect&rdquo; legislators (who never vote against their side) and outliers (like Senator Proxmire).</li>
</ul>
<h2 id="what-outcomesconclusions">What outcomes/conclusions?</h2>
<ul>
<li><strong>Unidimensionality</strong>: A single liberal-conservative dimension correctly classified ~80% of individual choices in the US House and Senate.</li>
<li><strong>Dimensionality Reduction</strong>: The model demonstrated that distinct &ldquo;issue scales&rdquo; found in previous research (e.g., social welfare vs. foreign policy) could largely be mapped onto a single dimension when error is accounted for.</li>
<li><strong>Strategic Behavior</strong>: The analysis revealed that majority leadership tends to place roll call midpoints slightly away from the median legislator to increase the probability of passage.</li>
<li><strong>Geometric Mean Probability</strong>: The authors introduced the geometric mean probability as a more robust metric than simple classification error for evaluating probabilistic models.</li>
<li><strong>Limitations</strong>: The authors acknowledge that the model is restricted to one dimension with a common utility function, and that civil rights voting represents a genuinely separate dimension not captured by the liberal-conservative axis. Standard errors computed from the alternating procedure are theoretically approximate (computed from separate information matrices rather than the full joint matrix), though Monte Carlo tests showed them to be reasonably reliable in practice. Extensions to multidimensional models and variable utility functions are deferred to later work.</li>
</ul>
<hr>
<h2 id="reproducibility-details">Reproducibility Details</h2>
<h3 id="data">Data</h3>
<p>The paper analyzes roll call voting matrices (a roll call is a procedure in which each legislator&rsquo;s name is called and their individual vote is recorded, producing a complete public record of who voted which way) where rows are legislators and columns are roll calls.</p>
<table>
  <thead>
      <tr>
          <th>Context</th>
          <th>Size</th>
          <th>Details</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>US House (85th)</strong></td>
          <td>440 Legislators x 172 Roll Calls</td>
          <td>68,284 choices; 1957-58</td>
      </tr>
      <tr>
          <td><strong>US Senate</strong></td>
          <td>~100 Senators/year</td>
          <td>Years 1979, 1980, 1981, 1982</td>
      </tr>
      <tr>
          <td><strong>Filtering</strong></td>
          <td>Cutoff &gt; 2.5%</td>
          <td>Roll calls with &lt; 2.5% minority vote are excluded to prevent &ldquo;noise&rdquo; from distorting estimates.</td>
      </tr>
  </tbody>
</table>
<h3 id="algorithms">Algorithms</h3>
<p>The <strong>NOMINATE</strong> algorithm maximizes the log-likelihood of observed choices using a constrained nonlinear maximum likelihood procedure.</p>
<p><strong>Utility Function</strong>:
The utility of legislator $i$ for outcome $j$ on roll call $l$ is:
$$U_{ijl}=\beta~\exp\left[\frac{-\omega^{2}d_{ijl}^{2}}{2}\right]+\epsilon_{ijl}$$
Where $d_{ijl}$ is the Euclidean distance between legislator $i$ and outcome $j$.</p>
<p><strong>Optimization Strategy (Global Iteration)</strong>:
Because estimating ~800 parameters simultaneously is impractical, the algorithm uses an alternating three-step method:</p>
<ol>
<li><strong>Utility Parameters</strong>: Estimate $\beta$ and $\omega$ while holding legislator ($x$) and roll call ($z$) coordinates fixed.</li>
<li><strong>Legislator Coordinates</strong>: Estimate $x_i$ for each legislator (independent of others) holding $\beta, \omega, z$ fixed.</li>
<li><strong>Roll Call Coordinates</strong>: Estimate $z_{yl}, z_{nl}$ for each roll call holding $\beta, \omega, x$ fixed.</li>
</ol>
<p>This cycle repeats until parameters correlate at the 0.99 level between iterations.</p>
<h3 id="models">Models</h3>
<p>The model estimates the following parameters for a one-dimensional space:</p>
<ul>
<li><strong>Legislator Coordinates ($x_i$)</strong>: The ideal point of each legislator, normalized to the range $[-1, +1]$.</li>
<li><strong>Outcome Coordinates ($z_{yl}, z_{nl}$)</strong>: The spatial location of the &ldquo;Yea&rdquo; and &ldquo;Nay&rdquo; policy outcomes for each vote.</li>
<li><strong>Signal-to-Noise ($\beta$)</strong>: Represents the weight of the spatial component versus the error term.</li>
<li><strong>Weighting ($\omega$)</strong>: A shape parameter for the utility function (often fixed to $0.5$ in practice due to collinearity with $\beta$).</li>
</ul>
<h3 id="evaluation">Evaluation</h3>
<p>Performance is evaluated primarily via classification accuracy and probabilistic fit.</p>
<table>
  <thead>
      <tr>
          <th>Metric</th>
          <th>Value</th>
          <th>Context</th>
          <th>Notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Classification</strong></td>
          <td>78.9%</td>
          <td>House (1957-58)</td>
          <td>Correctly predicts Yea/Nay choice</td>
      </tr>
      <tr>
          <td><strong>Classification</strong></td>
          <td>80.3 / 80.6 / 83.2 / 81.7%</td>
          <td>Senate (1979 / 1980 / 1981 / 1982)</td>
          <td></td>
      </tr>
      <tr>
          <td><strong>Geo. Mean Prob.</strong></td>
          <td>0.642 (House); 0.654 / 0.638 / 0.657 / 0.637 (Senate 1979 / 1980 / 1981 / 1982)</td>
          <td>Unconstrained roll calls</td>
          <td>Exponential of the average log likelihood</td>
      </tr>
  </tbody>
</table>
<h3 id="hardware">Hardware</h3>
<ul>
<li><strong>Development</strong>: DEC-2060</li>
<li><strong>Production</strong>: VAX-11/780</li>
</ul>
<h3 id="reproducibility-status">Reproducibility Status</h3>
<p>This paper predates modern open-source conventions. No original source code was released, and the NOMINATE algorithm was described at an overview level rather than with full pseudocode. However, the underlying roll call voting data for the U.S. Congress is now freely available through the <a href="https://voteview.com/">Voteview</a> project, which Poole and Rosenthal later maintained. Modern open-source reimplementations exist, including the R packages <code>wnominate</code> and <code>pscl</code>. Reproducibility status: <strong>Partially Reproducible</strong> (data available, modern reimplementations exist, but original code not released).</p>
<hr>
<h2 id="paper-information">Paper Information</h2>
<p><strong>Citation</strong>: Poole, K. T., &amp; Rosenthal, H. (1985). A Spatial Model for Legislative Roll Call Analysis. <em>American Journal of Political Science</em>, 29(2), 357-384. <a href="https://doi.org/10.2307/2111172">https://doi.org/10.2307/2111172</a></p>
<p><strong>Publication</strong>: American Journal of Political Science 1985</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bibtex" data-lang="bibtex"><span style="display:flex;"><span><span style="color:#a6e22e">@article</span>{pooleSpatialModelLegislative1985,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">title</span> = <span style="color:#e6db74">{A {{Spatial Model}} for {{Legislative Roll Call Analysis}}}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">author</span> = <span style="color:#e6db74">{Poole, Keith T. and Rosenthal, Howard}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">year</span> = <span style="color:#ae81ff">1985</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">journal</span> = <span style="color:#e6db74">{American Journal of Political Science}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">volume</span> = <span style="color:#e6db74">{29}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">number</span> = <span style="color:#e6db74">{2}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">pages</span> = <span style="color:#e6db74">{357--384}</span>,
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">doi</span> = <span style="color:#e6db74">{10.2307/2111172}</span>
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p><strong>Additional Resources</strong>:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/NOMINATE_(scaling_method)">Wikipedia: NOMINATE</a></li>
<li><a href="https://voteview.com/">Voteview (Modern Repository)</a></li>
</ul>
]]></content:encoded></item></channel></rss>