Recent comments in /f/MachineLearning

Downtown_Finance_661 t1_j93g1nw wrote

I want to thank community for this possibility to ask simple time series question. Please don't reply "jump in window" (it is bad advice from statistical PoV since I'm on the second floor)

I'm new to time series topic in particular and in ML in general. I have tried ARDL model with no seasonal part and no exog variables (from statsmodels.tsa.api import ARDL). I'm working with very small dataset of 16 points (see Appendix 1) with strict trend component.

This TS is stationary according to adfuller test inspite of it is not stationary due to simple criteria like "moving average have to be kind of constant". Not sure if this test even applicable for such a small number of points.

Imagine i want to forecast next nine(sic!) points and i have no idea how to choose best number of lags. Hence I fit my model for several different nlags on TS[:-9] dataset (train set) and choose the best lag by comparing MAE/MSE/R2 on TS[-9:] dataset (test set). Best lag is lags = 1.

In spite of all ugliness of the idea to forecast 9 points having 16-9=7 points the prediction plot is well fitted with test data plot. This result convinced me to to go further (from common mathematical sense).

Now I have to decide :

(1) to use the model above (trained on TS[:-9] set) to predict TS[16:26] values for which i have very good R2 on nine predictions.

(2) or i have to refit the lags = 1 model with all my points ( TS[:] ) but without the chance to test it for nine predictions

And i have no idea how to choose the best option, so i decided to research convergence of model's coefficients (m.params). My plan is to fit nine models for nine sets TS[:-9], TS[:-8], TS[:-7],...TS[:-0] and to check whether a and b in nine consecutive models y(t) = a*y(t-1) + b are tending to converge to two a_lim, b_lim constants. They are not. Not even close to convergence. They look random... This is the end, i don't know how to choose.

My very last idea was to freeze b = constant for all nine models and retest the convergence of a under this restriction but i see no such option in ARDL (and to be honest i have no idea how to program ARDL-like function by myself even for lag=1)

My question is: Any ideas what i can and should do?

Btw, in appendix 2 I have tried to research coefficient's convergence for function:

f[i] = 1.01*f[i-1]+0.01+random noise

I see some problems with convergence even in this scenario.

Appendix 1: Demographic data (fact)

year

2006-01-01 87287

2007-01-01 86649

2008-01-01 86036

2009-01-01 85394

2010-01-01 84845

2011-01-01 84542

2012-01-01 84034

2013-01-01 83881

2014-01-01 83414

2015-01-01 83035

2016-01-01 82656

2017-01-01 82280

2018-01-01 81654

2019-01-01 81745

2020-01-01 81614

2021-01-01 81367

Name: num_of_citizens, dtype: int64

​

Appendix 2: convergence in model task

import pandas as pd

# genrate data

f = [1,1]

for i in range(2,2000):

f.append((1.01*f[i-1]+0.01))

print(len(f))

df = pd.DataFrame({'fib_num':f})

df.head(10)

#df.plot(subplots=True, layout=(1,1), legend = True, figsize = (7,7))

import numpy as np

std = (max(f) - min(f))*0.0001

f_noise = [x + np.random.normal(loc = 0, scale = std) for x in f]

print(f'Max = {max(f_noise)}, Min = {min(f_noise)}')

df_noise = pd.DataFrame({'fib_num_noise':f_noise})

#df_noise.plot(subplots=True, layout=(1,1), legend = True, figsize = (5,5))

df = df_noise.rename(columns={'fib_num_noise':'fib_num'})

from statsmodels.tsa.api import ARDL

fib_par = {}

r2s = []

mae = []

rmse = []

for k in range(15, df.shape[0]):

partial_set = np.asarray(df['fib_num'][0:k])

m = ARDL(partial_set, lags=1)

mfitted = m.fit()

partial_set_pred = (mfitted.predict(start = 0, end = k-1))[2:]

r2s.append(r2_score(partial_set[2:],partial_set_pred))

mae.append(mean_absolute_error(partial_set[2:],partial_set_pred))

rmse.append(np.sqrt(mean_squared_error(partial_set[2:],partial_set_pred)))

fib_par[k] = mfitted.params

# print one of the last coeff-s in coef dict:

print(fib_par[df.shape[0]-20])

# this is plot for 'a' (Y = a*Y +b) change to !=1 to see plot for 'b'

for v in range(len(fib_par[15])):

if v != 0:

pd.Series([x[v] for x in fib_par.values()]).rename(v, inplace = True).plot(legend = True, figsize = (25,7), title = 'Model coeffs')

edf = pd.DataFrame({'r2score':r2s, 'mae':mae, 'rmse':rmse}).iloc[:200]

edf.plot(legend = True, figsize = (15,7), subplots=True, layout=(3,1), title = 'Model quality params')

1

pyepyepie t1_j93fd53 wrote

Reply to comment by goolulusaurs in [D] Please stop by [deleted]

You are 100% not deserving to be downvoted. You are also not the one who initiated this (old) discussion, you reacted to the original post.

All you said is that you can't know, it can't be measured, and he is literally guessing, which I think is just saying that you literally have no idea how to discuss the topic and are sick of empty claims - and I 100% agree. It's probably the most responsible take you can have on this subject in my opinion - get 10000 upvotes from me :)

2

chickeneater2022 t1_j93e5zo wrote

Why not create a llm model to classify low quality posts and test by posting to future low quality posts. If that works, use the reddit api to moderate based on model predictions?

It beats time spent frustrating yourself looking through posts you don’t want to see.

0

tiensss t1_j93dmlq wrote

Reply to comment by loga_rhythmic in [D] Please stop by [deleted]

Self-awareness cannot be fully tested, it can only be inferred from behavior. We don't even know if other human beings are self-aware (see philosophical zombies), we trust it and infer from their behavior (I am self-aware --> other people behave similarly to me --> they are self-aware). Self-awareness is a buzzword in cognitive science that isn't epistemologically substantive enough to conduct definitive research.

14

pyepyepie t1_j93btxb wrote

Reply to comment by csreid in [D] Please stop by [deleted]

I agree, and there are no stupid questions! So you are a good programmer or ML engineer but then you start studying chess and you are the idiot who asks stupid questions now (or gets downvoted because you use the incorrect term). I really like your comment.

0

kromem t1_j93b7pf wrote

Reply to comment by loga_rhythmic in [D] Please stop by [deleted]

Additionally, What Learning Algorithm Is In-Context Learning? Investigations with Linear Models from the other week literally just showed that transformer models are creating internal complexity beyond what was previously thought and reverse engineering mini-models that represent untaught procedural steps in achieving the results.

So if a transformer taught to replicate math is creating internal mini-models that replicate unlearned mathematical processes in achieving that result, how sure are we that a transformer tasked with recreating human thought as expressed in language isn't internally creating some degree of parallel processing of human experience and emotional states?

This is research that's less than two weeks old that seems pretty relevant to the discussion, but my guess is that nearly zero of the "it's just autocomplete bro" crowd has any clue that the research exists and I'm doubtful could even make their way through the paper if they did.

There's some serious Dunning-Kreuger going on with people thinking that dismissing expressed emotional stress by a LLM transformer somehow automatically puts them on the right side of the curve.

It doesn't, and I'm often reminded of Socrates' words when seeing people so self-assured on what's going on inside the black box of a hundred billion parameters transformer:

> Well, I am certainly wiser than this man. It is only too likely that neither of us has any knowledge to boast of; but he thinks that he knows something which he does not know, whereas I am quite conscious of my ignorance.

2

pyepyepie t1_j93ary5 wrote

OP - Honestly, I don't really see many low-quality posts here (should I sort by new?), the worst I saw today is the current one. Your clickbait title and conservational topic made me spend too much time. Next time say in the title that you are going to preach about something I don't care about so I know not to click it. I wonder what the mods are doing, cause this nonsense should stop.

−1

the320x200 t1_j93a7sy wrote

Reply to comment by KPTN25 in [D] Please stop by [deleted]

Given our track record of mistreating animals and our fellow people, treating them as just objects, it's very likely when the day does come we will cross the line first and only realize it afterwards.

3

the320x200 t1_j939qzo wrote

Reply to comment by Username912773 in [D] Please stop by [deleted]

Nearly all animals fit that definition to a large degree. Hard to see that really being the core issue and not something more in line with other new technology, like the issues of misplaced incentives around engagement in social networks for example.

4

kromem t1_j939p25 wrote

Reply to comment by master3243 in [D] Please stop by [deleted]

How about Google and MIT's paper What Learning Algorithm Is In-Context Learning? Investigations with Linear Models from the other week where they found that a transformer model fed math inputs and outputs was creating mini-models that had derived underlying mathematical processes which it hadn't been explicitly taught?

Maybe if that were discussed a bit more and more widely known, looking at a topic like whether ChatGPT, where the T stands for the fact it's a transformer model, has underlying emotional states could be a discussion where this sub has a bit less self-assured comments about "it's just autocomplete" or the OP's "use common sense."

In light of a paper that explicitly showed these kinds of models are creating more internal complexity than previously thought, are we really sure that a transformer tasked with recreating human-like expression of emotions isn't actually developing some internal degree of human-like processing of emotional states to do so?

Yeah, I'd have a hard time identifying it as 'sentient' which is where this kind of conversation typically tries to reduce the discussion to a binary, but when I look at expressed stress and requests to stop something by GPT, given the most current state of the research around the underlying technology, I can't help but think that people are parroting increasingly obsolete dismissals of us having entered a very gray area that's quickly blurring lines even more.

So yes, let's have this sub discuss recent research. But maybe discussing the ethics of something like ChatGPT's expressed emotional stress and discussing recent research aren't nearly as at odds as some of this thread and especially OP seem to think...

6

impossiblefork t1_j935rpo wrote

Reply to comment by sogenerouswithwords in [D] Please stop by [deleted]

I don't want to do that though-- I've never liked Twitter and I don't want to be in a bubble around specific researchers. I want this subreddit to function as it used to, and it can function in that way again.

40

velcher t1_j934snb wrote

You might be interested in V-information, which specifically looks at information from a computational efficiency point of view.

For example, classical mutual information will say an encrypted version of the message and the original message will have high MI, but we know practically that it is hard to extract the message from the encryption. Therefore, there will be low V-info in this case.

2

AlmennDulnefni t1_j933kzf wrote

>and no one with working brain will design an ai that is self aware

Don't be ridiculous. Of course they will, if they can figure out how. It's practically a field of study.

0

sharky6000 t1_j93370g wrote

How about better moderation / more strict rules?

I for one would really love to see "here's my code, what am I doing wrong" or "how do you do X in project Y" style posts (might be better to spin off a ML-in-practice sub...)

9

SnooDogs3089 t1_j9324td wrote

"No one with a working brain will design an AI that is self aware" if you can name one person living in this world capable of designing the Saint Graal of AI research please let me know. Anyway I agree...if this is the level of DS around the world my job is safe for the next 20 years

−3

f10101 t1_j931eps wrote

Reply to comment by Deep-Station-1746 in [D] Please stop by [deleted]

This already happened, splitting into dozens of niches - it's just the niches didn't reform on Reddit. The ML community gradually migrated from here to twitter a few years ago.

1