emredeveloper commited on
Commit
650b0c9
1 Parent(s): b54c89d

Upload 7 files

Browse files
Files changed (7) hide show
  1. Netflix-Subscriptions.csv +43 -0
  2. app.py +7 -0
  3. arima_model.pkl +3 -0
  4. netflix-ts.py +125 -0
  5. netflix.ipynb +0 -0
  6. pct_change.py +9 -0
  7. zamanserisi.ipynb +250 -0
Netflix-Subscriptions.csv ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Time Period,Subscribers
2
+ 01/04/2013,34240000
3
+ 01/07/2013,35640000
4
+ 01/10/2013,38010000
5
+ 01/01/2014,41430000
6
+ 01/04/2014,46130000
7
+ 01/07/2014,47990000
8
+ 01/10/2014,50650000
9
+ 01/01/2015,54480000
10
+ 01/04/2015,59620000
11
+ 01/07/2015,62080000
12
+ 01/10/2015,66020000
13
+ 01/01/2016,70840000
14
+ 01/04/2016,77710000
15
+ 01/07/2016,79900000
16
+ 01/10/2016,83280000
17
+ 01/01/2017,89090000
18
+ 01/04/2017,94360000
19
+ 01/07/2017,99040000
20
+ 01/10/2017,104020000
21
+ 01/01/2018,110640000
22
+ 01/04/2018,118900000
23
+ 01/07/2018,124350000
24
+ 01/10/2018,130420000
25
+ 01/01/2019,139260000
26
+ 01/04/2019,148860000
27
+ 01/07/2019,151560000
28
+ 01/10/2019,158330000
29
+ 01/01/2020,167090000
30
+ 01/04/2020,182860000
31
+ 01/07/2020,192950000
32
+ 01/10/2020,195150000
33
+ 01/01/2021,203660000
34
+ 01/04/2021,207640000
35
+ 01/07/2021,209180000
36
+ 01/10/2021,213560000
37
+ 01/01/2022,221840000
38
+ 01/04/2022,221640000
39
+ 01/07/2022,220670000
40
+ 01/10/2022,223090000
41
+ 01/01/2023,230750000
42
+ 01/04/2023,232500000
43
+ 01/07/2023,238390000
app.py ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ def greet(name):
4
+ return "Hello " + name + "!!"
5
+
6
+ iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
+ iface.launch()
arima_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:642d4de3502b2cd9973eeb371445e9c0b378c73d1cf225be765de6a3d55708ee
3
+ size 189557
netflix-ts.py ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Importing Necessay Python libraries
2
+
3
+
4
+ import pandas as pd
5
+ import numpy as np
6
+ import matplotlib.pyplot as plt
7
+ import plotly.graph_objs as go
8
+ import plotly.express as px
9
+ import plotly.io as pio
10
+ pio.templates.default = "plotly_white"
11
+ from statsmodels.tsa.arima.model import ARIMA
12
+ from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
13
+
14
+ # reading the data
15
+ data = pd.read_csv('Netflix-Subscriptions.csv')
16
+ print(data.head())
17
+
18
+
19
+
20
+ data['Time Period'] = pd.to_datetime(data['Time Period'],
21
+ format='%d/%m/%Y')
22
+ print(data.head())
23
+
24
+
25
+ fig = go.Figure()
26
+ fig.add_trace(go.Scatter(x=data['Time Period'],
27
+ y=data['Subscribers'],
28
+ mode='lines', name='Subscribers'))
29
+ fig.update_layout(title='Netflix Quarterly Subscriptions Growth',
30
+ xaxis_title='Date',
31
+ yaxis_title='Netflix Subscriptions')
32
+ fig.show()
33
+
34
+
35
+ data['Quarterly Growth Rate'] = data['Subscribers'].pct_change() * 100
36
+
37
+
38
+ data.head()
39
+
40
+ data["Bar Color"] = data["Quarterly Growth Rate"].apply(lambda x: 'green ' if x>0 else 'red')
41
+
42
+
43
+ fig = go.Figure()
44
+ fig.add_trace(go.Bar(
45
+ x=data['Time Period'],
46
+ y=data['Quarterly Growth Rate'],
47
+ marker_color=data['Bar Color'],
48
+ name='Quarterly Growth Rate'
49
+ ))
50
+ fig.update_layout(title='Netflix Quarterly Subscriptions Growth Rate',
51
+ xaxis_title='Time Period',
52
+ yaxis_title='Quarterly Growth Rate (%)')
53
+ fig.show()
54
+
55
+
56
+ data["Year"] = data["Time Period"].dt.year
57
+
58
+ yearly_growth = data.groupby('Year')['Subscribers'].pct_change().fillna(0) * 100
59
+
60
+
61
+
62
+ # Create a new column for bar color (green for positive growth, red for negative growth)
63
+ data['Bar Color'] = yearly_growth.apply(lambda x: 'green' if x > 0 else 'red')
64
+
65
+ # Plot the yearly subscriber growth rate using bar graphs
66
+ fig = go.Figure()
67
+ fig.add_trace(go.Bar(
68
+ x=data['Year'],
69
+ y=yearly_growth,
70
+ marker_color=data['Bar Color'],
71
+ name='Yearly Growth Rate'
72
+ ))
73
+ fig.update_layout(title='Netflix Yearly Subscriber Growth Rate',
74
+ xaxis_title='Year',
75
+ yaxis_title='Yearly Growth Rate (%)')
76
+ fig.show()
77
+
78
+
79
+
80
+ time_series = data.set_index('Time Period')['Subscribers']
81
+
82
+
83
+ differenced_series = time_series.diff().dropna()
84
+
85
+ # Plot ACF and PACF of differenced time series
86
+ fig, axes = plt.subplots(1, 2, figsize=(12, 4))
87
+ plot_acf(differenced_series, ax=axes[0])
88
+ plot_pacf(differenced_series, ax=axes[1])
89
+ plt.show()
90
+
91
+
92
+ p, d, q = 1, 1, 2
93
+ model = ARIMA(time_series, order=(p, d, q))
94
+ results = model.fit()
95
+ print(results.summary())
96
+
97
+
98
+ future_steps = 20
99
+ predictions = results.predict(len(time_series), len(time_series) + future_steps - 2)
100
+ predictions = predictions.astype(int)
101
+ predictions
102
+
103
+ # Create a DataFrame with the original data and predictions
104
+ forecast = pd.DataFrame({'Original': time_series, 'Predictions': predictions})
105
+
106
+ # Plot the original data and predictions
107
+ fig = go.Figure()
108
+
109
+ fig.add_trace(go.Scatter(x=forecast.index, y=forecast['Predictions'],
110
+ mode='lines', name='Predictions'))
111
+
112
+ fig.add_trace(go.Scatter(x=forecast.index, y=forecast['Original'],
113
+ mode='lines', name='Original Data'))
114
+
115
+ fig.update_layout(title='Netflix Quarterly Subscription Predictions',
116
+ xaxis_title='Time Period',
117
+ yaxis_title='Subscribers',
118
+ legend=dict(x=0.1, y=0.9),
119
+ showlegend=True)
120
+
121
+ fig.show()
122
+
123
+
124
+ forecast
125
+
netflix.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
pct_change.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+
3
+ data = {'Value': [100, 110, 105, 120, 125]}
4
+ df = pd.DataFrame(data)
5
+
6
+ # Yüzde değişimi hesapla
7
+ df['PctChange'] = df['Value'].pct_change()
8
+
9
+ print(df)
zamanserisi.ipynb ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 6,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import pandas as pd\n",
10
+ "import numpy as np\n",
11
+ "import matplotlib.pyplot as plt\n",
12
+ "from statsmodels.tsa.arima.model import ARIMA\n",
13
+ "from sklearn.metrics import mean_squared_error\n",
14
+ "\n",
15
+ "# Rastgele zaman serisi verisi oluşturma\n",
16
+ "np.random.seed(0)\n",
17
+ "dates = pd.date_range(start='2023-01-01', periods=100, freq='D')\n",
18
+ "values = np.random.rand(100) * 100\n",
19
+ "\n",
20
+ "\n"
21
+ ]
22
+ },
23
+ {
24
+ "cell_type": "code",
25
+ "execution_count": 7,
26
+ "metadata": {},
27
+ "outputs": [
28
+ {
29
+ "data": {
30
+ "text/html": [
31
+ "<div>\n",
32
+ "<style scoped>\n",
33
+ " .dataframe tbody tr th:only-of-type {\n",
34
+ " vertical-align: middle;\n",
35
+ " }\n",
36
+ "\n",
37
+ " .dataframe tbody tr th {\n",
38
+ " vertical-align: top;\n",
39
+ " }\n",
40
+ "\n",
41
+ " .dataframe thead th {\n",
42
+ " text-align: right;\n",
43
+ " }\n",
44
+ "</style>\n",
45
+ "<table border=\"1\" class=\"dataframe\">\n",
46
+ " <thead>\n",
47
+ " <tr style=\"text-align: right;\">\n",
48
+ " <th></th>\n",
49
+ " <th>Close</th>\n",
50
+ " </tr>\n",
51
+ " <tr>\n",
52
+ " <th>Date</th>\n",
53
+ " <th></th>\n",
54
+ " </tr>\n",
55
+ " </thead>\n",
56
+ " <tbody>\n",
57
+ " <tr>\n",
58
+ " <th>2023-01-01</th>\n",
59
+ " <td>54.881350</td>\n",
60
+ " </tr>\n",
61
+ " <tr>\n",
62
+ " <th>2023-01-02</th>\n",
63
+ " <td>71.518937</td>\n",
64
+ " </tr>\n",
65
+ " <tr>\n",
66
+ " <th>2023-01-03</th>\n",
67
+ " <td>60.276338</td>\n",
68
+ " </tr>\n",
69
+ " <tr>\n",
70
+ " <th>2023-01-04</th>\n",
71
+ " <td>54.488318</td>\n",
72
+ " </tr>\n",
73
+ " <tr>\n",
74
+ " <th>2023-01-05</th>\n",
75
+ " <td>42.365480</td>\n",
76
+ " </tr>\n",
77
+ " </tbody>\n",
78
+ "</table>\n",
79
+ "</div>"
80
+ ],
81
+ "text/plain": [
82
+ " Close\n",
83
+ "Date \n",
84
+ "2023-01-01 54.881350\n",
85
+ "2023-01-02 71.518937\n",
86
+ "2023-01-03 60.276338\n",
87
+ "2023-01-04 54.488318\n",
88
+ "2023-01-05 42.365480"
89
+ ]
90
+ },
91
+ "execution_count": 7,
92
+ "metadata": {},
93
+ "output_type": "execute_result"
94
+ }
95
+ ],
96
+ "source": [
97
+ "data = pd.DataFrame({'Date': dates, 'Close': values})\n",
98
+ "data.set_index('Date', inplace=True)\n",
99
+ "\n",
100
+ "# Veriyi eğitim ve test setlerine ayırma\n",
101
+ "train_size = int(len(data) * 0.8)\n",
102
+ "train_data, test_data = data[:train_size], data[train_size:]\n",
103
+ "\n",
104
+ "data.head()"
105
+ ]
106
+ },
107
+ {
108
+ "cell_type": "code",
109
+ "execution_count": 9,
110
+ "metadata": {},
111
+ "outputs": [
112
+ {
113
+ "name": "stderr",
114
+ "output_type": "stream",
115
+ "text": [
116
+ "c:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency D will be used.\n",
117
+ " self._init_dates(dates, freq)\n",
118
+ "c:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency D will be used.\n",
119
+ " self._init_dates(dates, freq)\n",
120
+ "c:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency D will be used.\n",
121
+ " self._init_dates(dates, freq)\n"
122
+ ]
123
+ }
124
+ ],
125
+ "source": [
126
+ "\n",
127
+ "\n",
128
+ "# ARIMA modelini oluşturma ve eğitme\n",
129
+ "p, d, q = 1, 1, 1 # Parametreler\n",
130
+ "model = ARIMA(train_data['Close'], order=(p, d, q))\n",
131
+ "model_fit = model.fit()\n",
132
+ "\n"
133
+ ]
134
+ },
135
+ {
136
+ "cell_type": "code",
137
+ "execution_count": 22,
138
+ "metadata": {},
139
+ "outputs": [],
140
+ "source": [
141
+ "# Tahminlemeleri yapma\n",
142
+ "forecast_steps = len(test_data)\n",
143
+ "predictions = model_fit.forecast(steps=forecast_steps)[0]\n",
144
+ "predictions = np.array(predictions)"
145
+ ]
146
+ },
147
+ {
148
+ "cell_type": "code",
149
+ "execution_count": 24,
150
+ "metadata": {},
151
+ "outputs": [
152
+ {
153
+ "data": {
154
+ "text/plain": [
155
+ "numpy.ndarray"
156
+ ]
157
+ },
158
+ "execution_count": 24,
159
+ "metadata": {},
160
+ "output_type": "execute_result"
161
+ }
162
+ ],
163
+ "source": [
164
+ "type(predictions)"
165
+ ]
166
+ },
167
+ {
168
+ "cell_type": "code",
169
+ "execution_count": 26,
170
+ "metadata": {},
171
+ "outputs": [
172
+ {
173
+ "name": "stdout",
174
+ "output_type": "stream",
175
+ "text": [
176
+ "Mean Squared Error: 749.9642818665021\n"
177
+ ]
178
+ }
179
+ ],
180
+ "source": [
181
+ "test_values = test_data['Close'].values\n",
182
+ "mse = np.mean((test_values - predictions)**2) # Numpy ile ortalama karesel hata hesaplaması\n",
183
+ "print(f\"Mean Squared Error: {mse}\")"
184
+ ]
185
+ },
186
+ {
187
+ "cell_type": "code",
188
+ "execution_count": 28,
189
+ "metadata": {},
190
+ "outputs": [
191
+ {
192
+ "ename": "ValueError",
193
+ "evalue": "x and y must be the same size",
194
+ "output_type": "error",
195
+ "traceback": [
196
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
197
+ "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
198
+ "Cell \u001b[1;32mIn[28], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m# Tahminlemeleri görselleştirme\u001b[39;00m\n\u001b[0;32m 2\u001b[0m plt\u001b[39m.\u001b[39mscatter(test_data\u001b[39m.\u001b[39mindex, test_values, label\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mGerçek Değerler\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[1;32m----> 3\u001b[0m plt\u001b[39m.\u001b[39mscatter(test_data\u001b[39m.\u001b[39mindex, predictions, color\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mred\u001b[39m\u001b[39m'\u001b[39m, label\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mTahminlemeler\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[0;32m 4\u001b[0m plt\u001b[39m.\u001b[39mxlabel(\u001b[39m'\u001b[39m\u001b[39mTarih\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[0;32m 5\u001b[0m plt\u001b[39m.\u001b[39mylabel(\u001b[39m'\u001b[39m\u001b[39mKapanış Fiyatı\u001b[39m\u001b[39m'\u001b[39m)\n",
199
+ "File \u001b[1;32mc:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\matplotlib\\pyplot.py:2862\u001b[0m, in \u001b[0;36mscatter\u001b[1;34m(x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, plotnonfinite, data, **kwargs)\u001b[0m\n\u001b[0;32m 2857\u001b[0m \u001b[39m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[39m.\u001b[39mscatter)\n\u001b[0;32m 2858\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mscatter\u001b[39m(\n\u001b[0;32m 2859\u001b[0m x, y, s\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, c\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, marker\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, cmap\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, norm\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m,\n\u001b[0;32m 2860\u001b[0m vmin\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, vmax\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, alpha\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, linewidths\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m,\n\u001b[0;32m 2861\u001b[0m edgecolors\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, plotnonfinite\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m, data\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs):\n\u001b[1;32m-> 2862\u001b[0m __ret \u001b[39m=\u001b[39m gca()\u001b[39m.\u001b[39mscatter(\n\u001b[0;32m 2863\u001b[0m x, y, s\u001b[39m=\u001b[39ms, c\u001b[39m=\u001b[39mc, marker\u001b[39m=\u001b[39mmarker, cmap\u001b[39m=\u001b[39mcmap, norm\u001b[39m=\u001b[39mnorm,\n\u001b[0;32m 2864\u001b[0m vmin\u001b[39m=\u001b[39mvmin, vmax\u001b[39m=\u001b[39mvmax, alpha\u001b[39m=\u001b[39malpha, linewidths\u001b[39m=\u001b[39mlinewidths,\n\u001b[0;32m 2865\u001b[0m edgecolors\u001b[39m=\u001b[39medgecolors, plotnonfinite\u001b[39m=\u001b[39mplotnonfinite,\n\u001b[0;32m 2866\u001b[0m \u001b[39m*\u001b[39m\u001b[39m*\u001b[39m({\u001b[39m\"\u001b[39m\u001b[39mdata\u001b[39m\u001b[39m\"\u001b[39m: data} \u001b[39mif\u001b[39;00m data \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m \u001b[39melse\u001b[39;00m {}), \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m 2867\u001b[0m sci(__ret)\n\u001b[0;32m 2868\u001b[0m \u001b[39mreturn\u001b[39;00m __ret\n",
200
+ "File \u001b[1;32mc:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\matplotlib\\__init__.py:1461\u001b[0m, in \u001b[0;36m_preprocess_data.<locals>.inner\u001b[1;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1458\u001b[0m \u001b[39m@functools\u001b[39m\u001b[39m.\u001b[39mwraps(func)\n\u001b[0;32m 1459\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39minner\u001b[39m(ax, \u001b[39m*\u001b[39margs, data\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs):\n\u001b[0;32m 1460\u001b[0m \u001b[39mif\u001b[39;00m data \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m-> 1461\u001b[0m \u001b[39mreturn\u001b[39;00m func(ax, \u001b[39m*\u001b[39m\u001b[39mmap\u001b[39m(sanitize_sequence, args), \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m 1463\u001b[0m bound \u001b[39m=\u001b[39m new_sig\u001b[39m.\u001b[39mbind(ax, \u001b[39m*\u001b[39margs, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m 1464\u001b[0m auto_label \u001b[39m=\u001b[39m (bound\u001b[39m.\u001b[39marguments\u001b[39m.\u001b[39mget(label_namer)\n\u001b[0;32m 1465\u001b[0m \u001b[39mor\u001b[39;00m bound\u001b[39m.\u001b[39mkwargs\u001b[39m.\u001b[39mget(label_namer))\n",
201
+ "File \u001b[1;32mc:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\matplotlib\\axes\\_axes.py:4578\u001b[0m, in \u001b[0;36mAxes.scatter\u001b[1;34m(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, plotnonfinite, **kwargs)\u001b[0m\n\u001b[0;32m 4576\u001b[0m y \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mma\u001b[39m.\u001b[39mravel(y)\n\u001b[0;32m 4577\u001b[0m \u001b[39mif\u001b[39;00m x\u001b[39m.\u001b[39msize \u001b[39m!=\u001b[39m y\u001b[39m.\u001b[39msize:\n\u001b[1;32m-> 4578\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mx and y must be the same size\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m 4580\u001b[0m \u001b[39mif\u001b[39;00m s \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[0;32m 4581\u001b[0m s \u001b[39m=\u001b[39m (\u001b[39m20\u001b[39m \u001b[39mif\u001b[39;00m mpl\u001b[39m.\u001b[39mrcParams[\u001b[39m'\u001b[39m\u001b[39m_internal.classic_mode\u001b[39m\u001b[39m'\u001b[39m] \u001b[39melse\u001b[39;00m\n\u001b[0;32m 4582\u001b[0m mpl\u001b[39m.\u001b[39mrcParams[\u001b[39m'\u001b[39m\u001b[39mlines.markersize\u001b[39m\u001b[39m'\u001b[39m] \u001b[39m*\u001b[39m\u001b[39m*\u001b[39m \u001b[39m2.0\u001b[39m)\n",
202
+ "\u001b[1;31mValueError\u001b[0m: x and y must be the same size"
203
+ ]
204
+ },
205
+ {
206
+ "data": {
207
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxI0lEQVR4nO3de3SU1b3G8WdmApkEkoFEkpmUoAGpGFPFiGCgrbWCYI9RK0eqJfXWSo2piCgIWok5qIjHW/ESrDc8It66FIxiqiJwtESjBNQYiyyJyim5eEQmEQ3QzD5/cGaayY0kTN6ZSb6ftWa58s7OOz+2yZ4n797vHpsxxggAAMAi9nAXAAAA+hfCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUjHhLqA1n8+nXbt2KSEhQTabLdzlAACALjDGqLGxUWlpabLbO7+2EXHhY9euXUpPTw93GQAAoAd27typ4cOHd9om4sJHQkKCpIPFJyYmhrkaAADQFQ0NDUpPTw+8j3cm4sKHf6olMTGR8AEAQJTpypIJFpwCAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJaKuE3GAESHZp9RefVu1Tc2KSXBqfEZSXLY+TwmAIdG+ADQbaWVNSoqqVKNtylwzONyqjA3U9OyPGGsDEA0YNoFQLeUVtYof2VFUPCQpFpvk/JXVqi0siZMlQGIFoQPAF3W7DMqKqmSaec5/7Gikio1+9prAQAHET4AdFl59e42VzxaMpJqvE0qr95tXVEAog7hA0CX1Td2HDx60g5A/0T4ANBlKQnOkLYD0D8RPgB02fiMJHlcTnV0Q61NB+96GZ+RZGVZAKIM4QNAlznsNhXmZkpSmwDi/7owN5P9PgB0ivABoFumZXlUnJcttyt4asXtcqo4L5t9PgAcEpuMAei2aVkeTcl0s8MpgB4hfADoEYfdppxRyeEuA0AUYtoFAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYKibcBQAAgIOafUbl1btV39iklASnxmckyWG3hbuskCN8AAAQAUora1RUUqUab1PgmMflVGFupqZlecJYWegx7QIAQJiVVtYof2VFUPCQpFpvk/JXVqi0siZMlfUOwgcAAGHU7DMqKqmSaec5/7Gikio1+9prEZ0IHwAAhFF59e42VzxaMpJqvE0qr95tXVG9jPABAEAY1Td2HDx60i4aED4AAAijlARnSNtFA8IHAABhND4jSR6XUx3dUGvTwbtexmckWVlWryJ8AAAQRg67TYW5mZLUJoD4vy7MzexT+30QPgAACLNpWR4V52XL7QqeWnG7nCrOy+5z+3ywyRgAABFgWpZHUzLd/WKH025d+WhubtZNN92kjIwMxcXFadSoUVq8eLGM+de9x8YYLVq0SB6PR3FxcZo8ebK2b98e8sIBAOhrHHabckYl65yxP1DOqOQ+GTykboaPpUuXqri4WPfff78++eQTLV26VHfccYfuu+++QJs77rhDy5Yt0/Lly/Xuu+9q0KBBmjp1qpqa+s4tQgAAoOdspuVli0M466yzlJqaqkcffTRwbPr06YqLi9PKlStljFFaWpquvfZaXXfddZIkr9er1NRUrVixQhdccMEhX6OhoUEul0ter1eJiYk9+CcBAACrdef9u1tXPiZOnKh169bp008/lSR98MEHevvtt3XmmWdKkqqrq1VbW6vJkycHvsflcmnChAkqKytr95z79u1TQ0ND0AMAAPRd3VpwumDBAjU0NGjMmDFyOBxqbm7WrbfeqpkzZ0qSamtrJUmpqalB35eamhp4rrUlS5aoqKioJ7UDAIAo1K0rH88995yeeuoprVq1ShUVFXriiSd055136oknnuhxAQsXLpTX6w08du7c2eNzAQCAyNetKx/z5s3TggULAms3fvSjH+mLL77QkiVLdPHFF8vtdkuS6urq5PH8657kuro6jR07tt1zxsbGKjY2toflAwCAaNOtKx/fffed7Pbgb3E4HPL5fJKkjIwMud1urVu3LvB8Q0OD3n33XeXk5ISgXAAAEO26deUjNzdXt956q0aMGKHjjjtOW7Zs0d13363LLrtMkmSz2TRnzhzdcsstGj16tDIyMnTTTTcpLS1N5557bm/UDwAAoky3wsd9992nm266SVdeeaXq6+uVlpam3//+91q0aFGgzfz587V3717NmjVLe/bs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3NwcNCZIUlxcnN5+++0uvcahRH348Pl8mjNnjiZNmqSsrCxJUm1trQYOHKghQ4YEtU1NTVVtbW2759m0aZOeffZZzZo1q81zw4cPV2xsrMaNG6eCggL97ne/67Ae//lTU1MP+drz58/XMcccI+ngL9qaNWu6Vfudd96pb7/9VhkZGUG1f/TRRxo8eLBiY2P161//Wj6fTzNmzAhp7ddff73i4+MD86VvvPFG4Bxdqd9f+4wZMwJ9P3PmTK1YsUKlpaUqLi5WdXW1Ro4cGVV977d69Wp9/fXXKioqCnntoe77F154Qccee6wWL16sXbt26cCBAzr//PMlHRx8x40bp9NPP73Tc7dX/6ZNm/TVV1/pBz/4QZv67Xa7kpOT9frrr+vaa6/tUt+ceeaZQT8LJ5xwQuA5Y4wuueQSXXHFFZKk5557TpJ09NFHd9o3ktp8enZqaqoaGhq0fv16y8YEf/2zZs3So48+qnHjxgV9f0d9/80337R73oaGBsvGhJZ9n52drcWLF0sKTd9bMSb0dt/79caY0LLvW9Z9KLW1tR3W/v333yshIUE5OTmBMaG5uVkrV65UWVmZampquvw6nYn68FFQUKDKyko988wzPT5HZWWlzjnnHBUWFuqMM85o8/xbb72l999/X8uXL9e9996rp59+WpL01FNPafDgwYHHW2+91a3X/eqrr+TxePTUU0/J4XDooosukvn/DWdbntc/oLa0atUqFRUVaenSpbrkkkuCaj/mmGO0detWvfvuu/r973+vwYMHa9GiRSGtfd68eTrnnHOUmpqqY445Jqj2/fv3d6n25557TvX19YG+v/HGG3X++efr+OOP19SpU7V27VrFxcXphhtuiJq+93v00Uf185//vFd+bnqj70tKSmSM0Q9+8APFxsaqqqpKZ5xxho488kgtX75cr776auBqQsv6N2/erJ07d7Z5Hf/vVGZmptxud5v6X3/9dT300EMaNWqU7rrrLq1atUrSwasv/kV5AwYMCOqb1atXB/Wn/y9gSbrvvvvU2NiohQsXSlLQIly/Q/VNazNmzLBsTPDXv2vXLlVWVmrZsmVt2hzq59Lv888/lyTdcMMNlowJLfu+oKCgzeJ/qed9b8WY0Nt979cbY0Lrn/v2dLX21p588smgMWHZsmW68MILZbeHKDaEZPImTAoKCszw4cPNjh07go6v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",
208
+ "text/plain": [
209
+ "<Figure size 640x480 with 1 Axes>"
210
+ ]
211
+ },
212
+ "metadata": {},
213
+ "output_type": "display_data"
214
+ }
215
+ ],
216
+ "source": [
217
+ "# Tahminlemeleri görselleştirme\n",
218
+ "plt.scatter(test_data.index, test_values, label='Gerçek Değerler')\n",
219
+ "plt.scatter(test_data.index, predictions, color='red', label='Tahminlemeler')\n",
220
+ "plt.xlabel('Tarih')\n",
221
+ "plt.ylabel('Kapanış Fiyatı')\n",
222
+ "plt.title('ARIMA ile Rastgele Zaman Serisi Kapanış Fiyatı Tahminlemesi')\n",
223
+ "plt.legend()\n",
224
+ "plt.show()"
225
+ ]
226
+ }
227
+ ],
228
+ "metadata": {
229
+ "kernelspec": {
230
+ "display_name": "Emre",
231
+ "language": "python",
232
+ "name": "python3"
233
+ },
234
+ "language_info": {
235
+ "codemirror_mode": {
236
+ "name": "ipython",
237
+ "version": 3
238
+ },
239
+ "file_extension": ".py",
240
+ "mimetype": "text/x-python",
241
+ "name": "python",
242
+ "nbconvert_exporter": "python",
243
+ "pygments_lexer": "ipython3",
244
+ "version": "3.11.3"
245
+ },
246
+ "orig_nbformat": 4
247
+ },
248
+ "nbformat": 4,
249
+ "nbformat_minor": 2
250
+ }