Sebuah perusahaan ingin tahu bagaimana pengalaman kerja memengaruhi upah. Datanya dikumpulkan, garis regresi ditarik, dan hasilnya jelas: tiap tambahan satu tahun pengalaman menaikkan upah. Tetapi seorang analis curiga ada yang tersembunyi di balik satu garis itu. Ia memisahkan data menjadi dua: karyawan pria dan karyawan wanita. Ternyata bukan hanya posisi awal upah mereka berbeda — laju kenaikannya pun berbeda. Tiap tahun pengalaman menambah upah pria lebih banyak daripada upah wanita.

Satu garis menyembunyikan cerita ini; ia memaksa kedua kelompok berbagi kemiringan yang sama. Untuk menangkap bahwa dua kelompok bisa punya garis berbeda — beda titik berangkat, bahkan beda kecuraman — kita butuh dua alat: variabel dummy untuk menandai kelompok, dan interaction term untuk membiarkan kemiringannya berbeda. Artikel ini membangun keduanya dari nol.

Intuisi: dari satu garis ke dua garis

Regresi linear sederhana menarik satu garis lewat awan titik. Itu cukup kalau seluruh data berbagi pola yang sama.

Garis regresi melalui awan titikTujuh titik data berkoordinat (1,3), (2,4), (3,4), (4,6), (5,5), (6,7), (7,8) membentuk awan yang menanjak. Sebuah garis lurus berkemiringan positif, garis regresi y-topi sama dengan b-nol ditambah b-satu kali x, menembus awan titik dan tepat melewati titik pusat rata-rata di x sama dengan 4 dan y sama dengan 5,29.1234567variabel x2345678variabel ygaris regresi ŷ = b₀ + b₁x(x̄, ȳ)
Regresi biasa menarik satu garis $\hat{y} = b_0 + b_1 x$ lewat semua titik — satu intersep, satu kemiringan untuk semua orang. Dummy dan interaksi mempertanyakan: bagaimana kalau ada dua kelompok dengan garis yang berbeda?

Masalahnya, satu garis memaksa setiap kelompok berbagi dua hal: titik berangkat (intersep) dan laju perubahan (kemiringan). Padahal di dunia nyata sering tidak begitu. Dua pertanyaan terpisah muncul:

  1. Apakah titik berangkatnya berbeda? Pada pengalaman yang sama, apakah satu kelompok rata-rata berupah lebih tinggi? Ini soal beda intersep — dijawab oleh variabel dummy.
  2. Apakah laju kenaikannya berbeda? Apakah tiap tahun pengalaman menambah upah lebih cepat di satu kelompok? Ini soal beda kemiringan — dijawab oleh interaction term.

Dummy menggeser garis ke atas atau ke bawah. Interaksi memutar kemiringannya. Gabungan keduanya membiarkan tiap kelompok punya garis sendiri yang benar-benar bebas.

Variabel Dummy: menandai kelompok dengan 0 dan 1

Regresi hanya menerima angka, sedangkan “pria/wanita” atau “SMA/S1/S2” adalah kategori. Variabel dummy menjembataninya: sebuah variabel yang hanya bernilai 0 atau 1, menandai apakah suatu pengamatan termasuk kategori tertentu.

$$D = \begin{cases} 1 & \text{kalau wanita} \\ 0 & \text{kalau pria} \end{cases}$$

Masukkan dummy ini ke regresi bersama variabel pengalaman $x$:

$$\hat{y} = b_0 + b_1 x + b_2 D$$

Tiap lambang dijelaskan polos:

  • $\hat{y}$ (dibaca “y-topi”) = upah yang diprediksi model.
  • $x$ = variabel bebas berupa angka, di sini pengalaman kerja (tahun).
  • $D$ = variabel dummy, bernilai 0 atau 1, penanda kelompok.
  • $b_0$ = intersep, yaitu prediksi $\hat{y}$ saat $x = 0$ dan $D = 0$ (kelompok basis).
  • $b_1$ = kemiringan terhadap $x$ — berapa upah naik per tahun pengalaman.
  • $b_2$ = selisih intersep antara kelompok $D=1$ dan kelompok $D=0$.

Kenapa $b_2$ adalah selisih intersep? Tinggal masukkan nilai $D$. Untuk pria ($D=0$): $\hat{y} = b_0 + b_1 x$. Untuk wanita ($D=1$): $\hat{y} = b_0 + b_1 x + b_2 = (b_0 + b_2) + b_1 x$. Dua garis ini kemiringannya sama ($b_1$), tetapi intersepnya beda sebesar $b_2$ — yaitu dua garis sejajar yang satu di atas yang lain. Kalau $b_2 = -1$ (juta rupiah), wanita berupah rata-rata Rp 1 juta lebih rendah pada tingkat pengalaman yang sama.

Kategori lebih dari dua: aturan k−1

Untuk variabel dengan $k$ kategori, buat $k - 1$ dummy — satu kategori menjadi basis (acuan) yang tidak diberi dummy. Misalnya tiga wilayah:

Wilayah$D_\text{Sumatera}$$D_\text{Lainnya}$
Jawa (basis)00
Sumatera10
Lainnya01

Jawa dikenali dari kombinasi “kedua dummy nol”. Tiap koefisien dibaca relatif terhadap basis: $b_\text{Sumatera}$ = selisih rata-rata $\hat{y}$ antara Sumatera dan Jawa, dengan variabel lain dikontrol.

Dummy trap: jangan masukkan semua k dummy

Godaan pemula: membuat dummy untuk setiap kategori (termasuk basis) lalu memasukkan semuanya plus intersep. Ini menyebabkan dummy trap — multikolinearitas sempurna. Sebabnya: jumlah seluruh dummy selalu sama dengan 1 untuk tiap baris (tiap pengamatan pasti masuk persis satu kategori), dan angka 1 itu sudah diwakili intersep. Akibatnya kolom-kolom itu saling bergantung sempurna dan OLS gagal menghitung koefisien tunggal.

Aturannya tetap: $k$ kategori → $k-1$ dummy, satu kategori jadi basis. Perangkat lunak modern menanganinya otomatis — factor() di R, i.var di Stata, C(...) di statsmodels — tetapi kalau Anda membuat dummy manual, ingat aturan $k-1$. Rincian masalah ini ada di Multikolinearitas.

Interaction Term: membiarkan kemiringan berbeda

Dummy saja hanya menggeser garis naik-turun; dua garis tetap sejajar. Tetapi bagaimana kalau laju kenaikan upah per tahun pengalaman juga berbeda antar kelompok? Untuk itu kita kalikan $x$ dengan $D$, menghasilkan interaction term:

$$\hat{y} = b_0 + b_1 x + b_2 D + b_3 (x \cdot D)$$

Lambang baru:

  • $x \cdot D$ = hasil kali pengalaman dan dummy. Untuk pria ($D=0$) nilainya selalu 0; untuk wanita ($D=1$) nilainya sama dengan $x$.
  • $b_3$ = koefisien interaksi, yaitu selisih kemiringan antar kelompok.

Cara paling jernih memahami interaksi adalah memecah persamaan satu itu menjadi dua garis dengan memasukkan nilai $D$:

$$\underbrace{D = 0:\ \hat{y} = b_0 + b_1 x}_{\text{garis kelompok basis}} \qquad \underbrace{D = 1:\ \hat{y} = (b_0 + b_2) + (b_1 + b_3)\, x}_{\text{garis kelompok lain}}$$

Bandingkan keduanya berdampingan:

IntersepKemiringan
Pria ($D=0$)$b_0$$b_1$
Wanita ($D=1$)$b_0 + b_2$$b_1 + b_3$
Selisih$b_2$$b_3$

Jadi: $b_2$ menggeser intersep, $b_3$ memutar kemiringan. Kalau $b_3 = 0$, dua garis kembali sejajar (kemiringan sama) — sama dengan model dummy biasa. Semakin jauh $b_3$ dari nol, semakin tajam beda kecuraman dua garis.

Geser sendiri $b_2$ dan $b_3$ di bawah ini, dan amati: $b_2$ menaik-turunkan garis wanita; $b_3$ memutar kemiringannya; $b_3 = 0$ membuat keduanya kembali sejajar.

Contoh Hitung dari Nol

Mari kerjakan kasus pembuka sampai tuntas dengan data kecil. Sepuluh karyawan, lima pria dan lima wanita, masing-masing dicatat pengalaman kerjanya ($x$, tahun) dan upahnya ($y$, juta rupiah).

Langkah 1 — data mentah.

$i$$x$ (pengalaman)$D$ (wanita)$y$ (upah, juta)
1205,6
2405,8
3608,0
4808,2
510010,4
6214,1
7414,2
8615,6
9815,8
101017,3

Trik kuncinya: model interaksi penuh setara dengan menjalankan dua regresi terpisah, satu per kelompok. (Itu sebabnya interaksi disebut “membiarkan tiap kelompok punya garis sendiri”.) Jadi kita hitung garis tiap kelompok dengan rumus slope-intersep biasa, lalu rakit koefisiennya.

Langkah 2 — garis kelompok pria ($D=0$). Data pria: $x = 2,4,6,8,10$; $y = 5{,}6;\ 5{,}8;\ 8{,}0;\ 8{,}2;\ 10{,}4$. Rata-rata $\bar{x} = 6$ dan $\bar{y} = 7{,}6$. Kolom bantu:

$x_i - \bar{x}$$y_i - \bar{y}$hasil kali$(x_i-\bar{x})^2$
−4−2,008,0016
−2−1,803,604
00,400,000
20,601,204
42,8011,2016
Σ24,0040

Slope dan intersep pria:

$$b_1 = \frac{\sum(x_i-\bar{x})(y_i-\bar{y})}{\sum(x_i-\bar{x})^2} = \frac{24}{40} = 0{,}6 \qquad b_0 = \bar{y} - b_1\bar{x} = 7{,}6 - 0{,}6 \times 6 = 4{,}0$$

Garis pria: $\hat{y} = 4{,}0 + 0{,}6\,x$.

Langkah 3 — garis kelompok wanita ($D=1$). Data wanita: $x = 2,4,6,8,10$; $y = 4{,}1;\ 4{,}2;\ 5{,}6;\ 5{,}8;\ 7{,}3$. Rata-rata $\bar{x} = 6$ dan $\bar{y} = 5{,}4$. Kolom bantu:

$x_i - \bar{x}$$y_i - \bar{y}$hasil kali$(x_i-\bar{x})^2$
−4−1,305,2016
−2−1,202,404
00,200,000
20,400,804
41,907,6016
Σ16,0040

Slope dan intersep wanita:

$$b_1^{(w)} = \frac{16}{40} = 0{,}4 \qquad b_0^{(w)} = 5{,}4 - 0{,}4 \times 6 = 3{,}0$$

Garis wanita: $\hat{y} = 3{,}0 + 0{,}4\,x$.

Langkah 4 — rakit jadi satu model interaksi. Sekarang terjemahkan dua garis itu ke koefisien $b_0, b_1, b_2, b_3$ memakai tabel selisih di atas:

  • $b_0 = $ intersep basis (pria) $= 4{,}0$
  • $b_1 = $ kemiringan basis (pria) $= 0{,}6$
  • $b_2 = $ selisih intersep $= b_0^{(w)} - b_0 = 3{,}0 - 4{,}0 = -1{,}0$
  • $b_3 = $ selisih kemiringan $= b_1^{(w)} - b_1 = 0{,}4 - 0{,}6 = -0{,}2$

Model interaksi lengkap:

$$\hat{y} = 4{,}0 + 0{,}6\,x - 1{,}0\,D - 0{,}2\,(x \cdot D)$$

Menjalankan OLS langsung pada kesepuluh baris data (dengan statsmodels) menghasilkan persis koefisien yang sama — $b_0=4{,}0$, $b_1=0{,}6$, $b_2=-1{,}0$, $b_3=-0{,}2$, dengan $R^2 = 0{,}95$ — bukti bahwa “interaksi penuh” memang sama dengan “dua regresi terpisah”.

Interpretasi Koefisien

Untuk model $\hat{y} = 4{,}0 + 0{,}6\,x - 1{,}0\,D - 0{,}2\,(x \cdot D)$ (upah dalam juta rupiah, $x$ = pengalaman, $D$ = wanita), tiap koefisien punya makna terpisah:

  • $b_0 = 4{,}0$ — intersep kelompok basis (pria). Pria tanpa pengalaman ($x=0$) diprediksi berupah Rp 4 juta. Ini bukan prediksi rata-rata semua orang; hanya pria.
  • $b_1 = 0{,}6$ — kemiringan kelompok basis (pria). Tiap tahun pengalaman menambah upah pria Rp 0,6 juta. Saat ada interaksi, $b_1$ adalah efek $x$ hanya untuk basis, bukan efek keseluruhan.
  • $b_2 = -1{,}0$ — selisih intersep. Pada pengalaman 0 tahun, wanita berupah Rp 1 juta lebih rendah daripada pria.
  • $b_3 = -0{,}2$ — selisih kemiringan. Tiap tahun pengalaman menambah upah wanita Rp 0,2 juta lebih sedikit daripada pria (0,6 vs 0,4 juta per tahun). Tanda negatif berarti kesenjangan melebar seiring pengalaman.

Sekarang gunakan model untuk memprediksi. Berapa upah seorang wanita dengan pengalaman 5 tahun? Masukkan $x=5$, $D=1$:

$$\hat{y} = 4{,}0 + 0{,}6(5) - 1{,}0(1) - 0{,}2(5 \cdot 1) = 4{,}0 + 3{,}0 - 1{,}0 - 1{,}0 = 5{,}0 \text{ juta}$$

Bandingkan dengan pria berpengalaman sama ($x=5$, $D=0$): $\hat{y} = 4{,}0 + 0{,}6(5) = 7{,}0$ juta. Selisihnya Rp 2 juta. Selisih ini bukan konstanta $b_2$ saja; ia bergantung pengalaman, karena garisnya tidak sejajar:

$$\text{selisih wanita} - \text{pria} = b_2 + b_3 \cdot x = -1{,}0 + (-0{,}2)(5) = -2{,}0 \text{ juta}$$

Pada 0 tahun selisihnya hanya −1 juta; pada 10 tahun melebar jadi −3 juta. Itulah yang tak bisa ditangkap model dummy biasa (yang memaksa selisih tetap −1 juta di semua tingkat pengalaman).

Aturan Penting: selalu sertakan main effect

Saat memakai interaksi $x \cdot D$, Anda wajib memasukkan juga $x$ dan $D$ secara terpisah (disebut main effect, efek utama). Jangan pernah memasukkan $x \cdot D$ sendirian tanpa pasangannya. Kalau $D$ dibuang, model memaksa kedua garis berbagi intersep yang sama (hanya boleh beda kemiringan) — sebuah batasan yang jarang dikehendaki dan membuat tafsir $b_3$ rusak. Hampir semua perangkat lunak modern memasukkan main effect otomatis kalau Anda menulis x * D (lihat sintaks di bawah).

Cek Pemahaman

1. Dari model $\hat{y} = 4{,}0 + 0{,}6\,x - 1{,}0\,D - 0{,}2\,(x \cdot D)$, tuliskan kemiringan dan intersep untuk masing-masing kelompok ($D=0$ dan $D=1$), lalu prediksi upah seorang pria dengan pengalaman 8 tahun.

Lihat jawaban

Kelompok $D=0$ (pria): intersep $= b_0 = 4{,}0$; kemiringan $= b_1 = 0{,}6$. Kelompok $D=1$ (wanita): intersep $= b_0 + b_2 = 4{,}0 - 1{,}0 = 3{,}0$; kemiringan $= b_1 + b_3 = 0{,}6 - 0{,}2 = 0{,}4$.

Prediksi pria, $x=8$, $D=0$: $\hat{y} = 4{,}0 + 0{,}6(8) = 4{,}0 + 4{,}8 = 8{,}8$ juta.

2. (Soal transfer.) Sebuah model dari data lain memberi $\hat{Y} = 3000 + 500\,x - 800\,D - 150\,(x \cdot D)$, dengan $\hat{Y}$ = upah (ribu rupiah), $x$ = pengalaman (tahun), $D=1$ wanita / $D=0$ pria. (a) Berapa tambahan upah per tahun pengalaman untuk wanita? (b) Berapa prediksi upah wanita berpengalaman 10 tahun? (c) Pada pengalaman berapa selisih upah wanita−pria mencapai −2.300 ribu?

Lihat jawaban

(a) Kemiringan wanita $= b_1 + b_3 = 500 + (-150) = 350$ ribu per tahun (pria 500, jadi wanita Rp 150 ribu lebih sedikit tiap tahun).

(b) Wanita, $x=10$, $D=1$: $\hat{Y} = 3000 + 500(10) - 800(1) - 150(10 \cdot 1) = 3000 + 5000 - 800 - 1500 = 5700$ ribu.

(c) Selisih wanita−pria $= b_2 + b_3 x = -800 - 150x$. Setel $= -2300$: $-150x = -1500 \Rightarrow x = 10$ tahun. (Cek: pada 0 tahun selisih hanya −800; melebar −150 ribu tiap tahun.)

Kesalahan Umum

Memasukkan semua $k$ dummy plus intersep (dummy trap). Multikolinearitas sempurna, OLS gagal. Sisakan satu kategori sebagai basis: $k$ kategori → $k-1$ dummy.

Memasukkan interaksi tanpa main effect. Menulis $x \cdot D$ tanpa $x$ dan $D$ sendirian membuat model salah spesifikasi dan tafsir $b_3$ tidak sahih. Selalu sertakan keduanya.

Menafsirkan $b_1$ sebagai “efek rata-rata”. Saat ada interaksi, $b_1$ adalah efek $x$ hanya pada kelompok basis ($D=0$), bukan efek keseluruhan. Efek $x$ untuk kelompok lain adalah $b_1 + b_3$.

Menafsirkan $b_2$ sebagai selisih upah di semua tingkat $x$. Begitu ada interaksi, selisih antar kelompok bukan konstan $b_2$, melainkan $b_2 + b_3 x$ — bergantung nilai $x$. $b_2$ hanya selisih saat $x = 0$.

Lupa centering pada interaksi dua variabel kontinu. Untuk $x \cdot z$ (dua variabel kontinu, bukan dummy), memusatkan dulu ($x - \bar{x}$, $z - \bar{z}$) membuat main effect tertafsir pada nilai rata-rata yang bermakna dan menurunkan multikolinearitas non-esensial.

Terlalu banyak kategori dengan data sedikit. Tiap dummy memakan satu derajat bebas; tiap interaksi menambah lagi. Dua puluh kategori dengan $n=100$ boros derajat bebas dan menghasilkan estimasi tidak stabil.

Cara Mengeceknya di Perangkat Lunak

Tiga perangkat lunak ini menangani dummy dan interaksi otomatis — Anda cukup menulis perkalian, sisanya diurus (termasuk main effect dan aturan $k-1$):

# R — factor() membuat dummy & menghindari trap; tanda * = main + interaksi
m <- lm(upah ~ pengalaman * gender, data = dat)
# 'pengalaman * gender' = pengalaman + gender + pengalaman:gender
summary(m)
* Stata — ## menambahkan main effect + interaksi sekaligus
reg upah c.pengalaman##i.gender
# Python (statsmodels) — C() menandai variabel kategorik, * = interaksi penuh
import statsmodels.formula.api as smf
m = smf.ols('upah ~ pengalaman * C(gender)', data=df).fit()
print(m.summary())

Rumus di Excel

Excel tidak punya fungsi interaksi bawaan, tetapi modelnya bisa dibangun manual: buat kolom dummy $D$ (0/1) dan kolom hasil kali $x \cdot D$, lalu regresikan dengan LINEST.

=IF(B2="Wanita"; 1; 0)            → kolom dummy D
=A2*C2                            → kolom interaksi (pengalaman × D)
=LINEST(Y; A2:C11; TRUE; TRUE)    → koefisien b₁, b₂, b₃ + intersep b₀ sekaligus

⬇ Unduh dummy-interaction.xlsx

Berkas pendamping memuat data kesepuluh karyawan di atas, kolom dummy dan kolom interaksi yang dibangun dengan formula hidup, serta lembar yang memisahkan model menjadi dua garis (pria dan wanita) agar koefisien $b_2$ dan $b_3$ terlihat sebagai selisih intersep dan selisih kemiringan.

Dipakai di Dunia Nyata

  • Ekonomi tenaga kerja. Kesenjangan upah gender, imbalan pendidikan, perbedaan antarwilayah — semua memakai dummy. Interaksi mengungkap apakah imbalan pendidikan atau pengalaman berbeda antar kelompok, bukan sekadar rata-ratanya beda.
  • Evaluasi kebijakan. Difference-in-Differences pada intinya adalah interaksi antara dummy “kelompok perlakuan” dan dummy “periode setelah kebijakan” — koefisien interaksinya justru efek kebijakan yang dicari. Untuk perlakuan yang menyebar di banyak waktu, gunakan estimator modern seperti Callaway–Sant’Anna yang menghindari bias estimator interaksi dua-arah klasik.
  • Keuangan & riset pasar. Dummy menandai kelompok perlakuan dalam uji A/B; interaksi menguji apakah efek promosi atau perubahan harga berbeda antar segmen pelanggan. Dalam studi peristiwa pasar modal, dummy menandai jendela peristiwa.

Lanjutan

Reference

  • Wooldridge, J. M. (2019). Introductory Econometrics: A Modern Approach (7th ed.), Ch. 7.
  • Aiken, L. S., & West, S. G. (1991). Multiple Regression: Testing and Interpreting Interactions.
  • Brambor, T., Clark, W. R., & Golder, M. (2006). Understanding interaction models: Improving empirical analyses. Political Analysis, 14(1), 63–82.