{"id":22432687,"url":"https://github.com/1999azzar/analisis-regresi-otomatis","last_synced_at":"2025-08-08T14:08:03.020Z","repository":{"id":240671015,"uuid":"803196869","full_name":"1999AZZAR/Analisis-Regresi-Otomatis","owner":"1999AZZAR","description":"Proyek untuk melakukan analisis regresi berganda secara otomatis dengan Python, menghasilkan laporan dan visualisasi yang sesuai dengan standar SPSS.","archived":false,"fork":false,"pushed_at":"2024-05-25T16:57:17.000Z","size":109,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T12:45:49.013Z","etag":null,"topics":["regresion","spss","statistics","uji-f","uji-t"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1999AZZAR.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-20T09:01:35.000Z","updated_at":"2024-07-15T18:04:50.000Z","dependencies_parsed_at":"2024-05-20T13:44:43.164Z","dependency_job_id":"b5522650-0594-4aa1-98fd-d9482a0a3767","html_url":"https://github.com/1999AZZAR/Analisis-Regresi-Otomatis","commit_stats":null,"previous_names":["1999azzar/analisis-regresi-otomatis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1999AZZAR%2FAnalisis-Regresi-Otomatis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1999AZZAR%2FAnalisis-Regresi-Otomatis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1999AZZAR%2FAnalisis-Regresi-Otomatis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1999AZZAR%2FAnalisis-Regresi-Otomatis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1999AZZAR","download_url":"https://codeload.github.com/1999AZZAR/Analisis-Regresi-Otomatis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245806038,"owners_count":20675291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["regresion","spss","statistics","uji-f","uji-t"],"created_at":"2024-12-05T22:12:33.793Z","updated_at":"2025-03-27T07:42:47.984Z","avatar_url":"https://github.com/1999AZZAR.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tutorial: Analisis Regresi Linear Berganda Menggunakan Python\n\nTutorial ini menunjukkan cara membuat program Python untuk melakukan uji parsial (uji t), uji simultan (uji F), dan menghitung koefisien determinasi dalam analisis regresi linear berganda. Program ini juga menghasilkan laporan dalam format Excel dan menampilkan bagan regresi.\n\n## Langkah-langkah\n\n### 1. Persiapkan Lingkungan Python\n\nPastikan Anda sudah menginstal library yang dibutuhkan. Anda dapat menginstal semuanya menggunakan pip:\n\n```bash\npip install pandas statsmodels matplotlib openpyxl\n```\n\n### 2. Siapkan Data (*pilih salah satu baik csv maupun xlsx)\n\n#### Contoh Format CSV\n\nSimpan data ini sebagai `data.csv`:\n\n```csv\nY,X1,X2,X3\n10,1,5,8\n15,2,3,6\n20,3,6,7\n25,4,8,10\n30,5,10,12\n35,6,12,14\n40,7,14,16\n45,8,16,19\n50,9,18,21\n55,10,20,23\n60,11,22,25\n65,12,24,28\n70,13,26,30\n75,14,28,33\n80,15,30,35\n85,16,32,37\n90,17,34,39\n95,18,36,42\n100,19,38,44\n105,20,40,46\n```\n\n#### Contoh Format XLSX\n\nSimpan data ini sebagai `data.xlsx`. Anda bisa membuatnya menggunakan Excel atau dengan Pandas:\n\n##### Menggunakan Excel\n\n1. Buka Microsoft Excel.\n2. Masukkan data ke dalam sel seperti berikut:\n\n|  Y  |  X1  |  X2  |  X3  |\n|-----|------|------|------|\n|  10 |  1   |  5   |  8   |\n|  15 |  2   |  3   |  6   |\n|  20 |  3   |  6   |  7   |\n|  25 |  4   |  8   |  10  |\n|  30 |  5   |  10  |  12  |\n|  35 |  6   |  12  |  14  |\n|  40 |  7   |  14  |  16  |\n|  45 |  8   |  16  |  19  |\n|  50 |  9   |  18  |  21  |\n|  55 |  10  |  20  |  23  |\n|  60 |  11  |  22  |  25  |\n|  65 |  12  |  24  |  28  |\n|  70 |  13  |  26  |  30  |\n|  75 |  14  |  28  |  33  |\n|  80 |  15  |  30  |  35  |\n|  85 |  16  |  32  |  37  |\n|  90 |  17  |  34  |  39  |\n|  95 |  18  |  36  |  42  |\n| 100 |  19  |  38  |  44  |\n| 105 |  20  |  40  |  46  |\n\n3. Simpan file dengan nama `data.xlsx`.\n\n##### Menggunakan Pandas\n\nBerikut adalah cara membuat file XLSX menggunakan Pandas:\n\n```python\nimport pandas as pd\n\ndata = {\n    'Y': [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105],\n    'X1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],\n    'X2': [5, 3, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40],\n    'X3': [8, 6, 7, 10, 12, 14, 16, 19, 21, 23, 25, 28, 30, 33, 35, 37, 39, 42, 44, 46]\n}\n\ndf = pd.DataFrame(data)\ndf.to_excel('data.xlsx', index=False)\n```\n\n### 3. Buat Program Python\n\nBuat program Python berikut dan simpan sebagai `regression_analysis.py`:\n\n```python\nimport pandas as pd\nimport statsmodels.api as sm\nimport matplotlib.pyplot as plt\nfrom openpyxl import Workbook\nfrom openpyxl.utils.dataframe import dataframe_to_rows\n\n# Fungsi untuk membaca data\ndef read_data(file_path):\n    if file_path.endswith('.csv'):\n        data = pd.read_csv(file_path)\n    elif file_path.endswith('.xlsx'):\n        data = pd.read_excel(file_path)\n    else:\n        raise ValueError(\"File harus berformat .csv atau .xlsx\")\n    return data\n\n# Fungsi untuk melakukan regresi berganda\ndef multiple_regression(data, dependent_var, independent_vars):\n    X = data[independent_vars]\n    y = data[dependent_var]\n    X = sm.add_constant(X)\n    model = sm.OLS(y, X).fit()\n    return model\n\n# Fungsi untuk membuat laporan hasil regresi\ndef create_report(model, file_path):\n    report = Workbook()\n    ws = report.active\n    ws.title = \"Regression Results\"\n\n    # Menulis summary regresi ke dalam file excel\n    summary = model.summary2().tables[1]\n    for r in dataframe_to_rows(summary, index=True, header=True):\n        ws.append(r)\n\n    # Menyimpan file\n    report.save(file_path)\n\n# Fungsi untuk membuat bagan\ndef create_plot(data, dependent_var, independent_vars, model):\n    plt.figure(figsize=(10, 6))\n    for var in independent_vars:\n        plt.scatter(data[var], data[dependent_var], label=f'{var} vs {dependent_var}')\n        plt.plot(data[var], model.predict(sm.add_constant(data[independent_vars])), color='red')\n    plt.xlabel('Independent Variables')\n    plt.ylabel(dependent_var)\n    plt.legend()\n    plt.title(f'Regression Plot of {dependent_var} vs Independent Variables')\n    plt.show()\n\n# Main function\ndef main(file_path, dependent_var, independent_vars, report_file_path):\n    data = read_data(file_path)\n    model = multiple_regression(data, dependent_var, independent_vars)\n    create_report(model, report_file_path)\n    create_plot(data, dependent_var, independent_vars, model)\n\n    print(\"Uji t, Uji F, dan Koefisien Determinasi\")\n    print(model.summary())\n\nif __name__ == \"__main__\":\n    # Ganti dengan file path Anda\n    file_path = 'data.xlsx'\n    dependent_var = 'Y'  # Ganti dengan nama variabel dependen Anda\n    independent_vars = ['X1', 'X2', 'X3']  # Ganti dengan nama variabel independen Anda\n    report_file_path = 'regression_report.xlsx'\n\n    main(file_path, dependent_var, independent_vars, report_file_path)\n```\n\n### 4. Jalankan Program\n\nPastikan Anda berada dalam direktori yang sama dengan `regression_analysis.py` dan file data (`data.csv` atau `data.xlsx`), kemudian jalankan program:\n\n```bash\npython regression_analysis.py\n```\n\n### 5. Hasil\n\nProgram akan membaca data dari file, melakukan analisis regresi berganda, menghasilkan laporan dalam format Excel (`regression_report.xlsx`), dan menampilkan bagan regresi.\n\n### Struktur Direktori\n\nPastikan struktur direktori Anda seperti ini:\n\n```\nregression_analysis/\n│\n├── data.csv\n├── data.xlsx\n├── regression_analysis.py\n├── regression_report.xlsx (akan dibuat setelah menjalankan program)\n```\n\nDengan mengikuti langkah-langkah ini, Anda akan dapat melakukan analisis regresi berganda secara otomatis dan mendapatkan laporan yang sesuai dengan SPSS dalam format Excel.\n\n### 6. Contoh Hasil Program\n\nSetelah menjalankan program, Anda akan melihat output di terminal dan file Excel yang dihasilkan. Berikut adalah contoh hasil:\n\n#### Output di Terminal\n\nOutput yang dihasilkan di terminal akan memberikan detail statistik dari regresi berganda, termasuk uji parsial (uji t) dan uji simultan (uji F):\n\n```\nUji t, Uji F, dan Koefisien Determinasi\n                            OLS Regression Results\n==============================================================================\nDep. Variable:                      Y   R-squared:                       1.000\nModel:                            OLS   Adj. R-squared:                  1.000\nMethod:                 Least Squares   F-statistic:                 1.764e+29\nDate:                Sat, 25 May 2024   Prob (F-statistic):          2.33e-228\nTime:                        23:27:38   Log-Likelihood:                 561.08\nNo. Observations:                  20   AIC:                            -1114.\nDf Residuals:                      16   BIC:                            -1110.\nDf Model:                           3\nCovariance Type:            nonrobust\n==============================================================================\n                 coef    std err          t      P\u003e|t|      [0.025      0.975]\n------------------------------------------------------------------------------\nconst          5.0000   1.11e-13   4.51e+13      0.000       5.000       5.000\nX1             5.0000    1.2e-13   4.17e+13      0.000       5.000       5.000\nX2         -3.553e-15   1.09e-13     -0.033      0.974   -2.34e-13    2.27e-13\nX3         -3.553e-15   6.72e-14     -0.053      0.959   -1.46e-13    1.39e-13\n==============================================================================\nOmnibus:                        3.086   Durbin-Watson:                   0.009\nProb(Omnibus):                  0.214   Jarque-Bera (JB):                1.281\nSkew:                           0.124   Prob(JB):                        0.527\nKurtosis:                       1.785   Cond. No.                         158.\n==============================================================================\n```\n\n#### Laporan dalam Format Excel\n\nFile Excel `regression_report.xlsx` akan berisi laporan hasil regresi. Contoh isi laporan:\n\n```csv\n|           | Coef.      | Std.Err.  | t          |   P\u003e|t|  |   [0.025   |   0.975]  |\n|-----------|------------|-----------|------------|----------|------------|-----------|\n|const      |    5.0000  | 1.11e-13  | 4.51e+13   |   0.000  |     5.000  |     5.000 |\n|X1         |    5.0000  |  1.2e-13  | 4.17e+13   |   0.000  |     5.000  |     5.000 |\n|X2         |-3.553e-15  | 1.09e-13  |   -0.033   |   0.974  | -2.34e-13  |  2.27e-13 |\n|X3         |-3.553e-15  | 6.72e-14  |   -0.053   |   0.959  | -1.46e-13  |  1.39e-13 |\n```\n\n#### Bagan Regresi\n\nProgram akan menampilkan bagan regresi menggunakan matplotlib.\n\n![regression_plot](demo.png)\n\nUntuk menyimpan bagan sebagai gambar, Anda dapat menambahkan kode berikut dalam fungsi `create_plot`:\n\n```python\nplt.savefig('regression_plot.png')\n```\n\nDengan mengikuti tutorial ini, Anda dapat menjalankan analisis regresi berganda secara otomatis dan mendapatkan hasil yang komprehensif.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1999azzar%2Fanalisis-regresi-otomatis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1999azzar%2Fanalisis-regresi-otomatis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1999azzar%2Fanalisis-regresi-otomatis/lists"}