-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First draft for JOSS paper #70
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #70 +/- ##
===========================================
+ Coverage 36.42% 81.36% +44.94%
===========================================
Files 18 16 -2
Lines 442 365 -77
===========================================
+ Hits 161 297 +136
+ Misses 281 68 -213 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your work! First round of review is done. Overall good but can still be improved!
Co-authored-by: George Datseris <[email protected]>
Co-authored-by: George Datseris <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are almost there. address these and we can merge this!!!
paper/paper.md
Outdated
and the recent price collapse of many cryptocurrencies [@ismail_detecting_2020]. The systems | ||
displaying such transitions are therefore usually monitored by measuring state variables | ||
that are believed to be representative of the underlying process. Researchers analyze the | ||
resulting time series with various methods to detect past transitions and predict |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resulting time series with various methods to detect past transitions and predict | |
resulting timeseries with various methods to detect past transitions and predict |
I've taken it my personal crusade to replace the words "time series" with "timeseries" in the NLD literature.
paper/paper.md
Outdated
and society. Examples of this are ubiquitous and include the onset of cardiac arrhythmia | ||
[@tse_mechanisms_2016], the deglaciation of Earth about 20,000 years ago [@wolff_changes_2010] | ||
and the recent price collapse of many cryptocurrencies [@ismail_detecting_2020]. The systems | ||
displaying such transitions are therefore usually monitored by measuring state variables |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
displaying such transitions are therefore usually monitored by measuring state variables | |
displaying such transitions are usually monitored by measuring state variables |
paper/paper.md
Outdated
work predicting a collapse of the Atlantic Meridional Overturning Circulation between 2025 | ||
and 2095 has led to no less than 870 news outlets and 4100 tweets [@ditlevsen_warning_2023], | ||
largely because of the substantial implications of such a collapse for human societies. | ||
However, some published work is not reproducible despite their strong policy implications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, but the problem is that we are making a definitive statement: "some published work is not reproducible despite ..." . How do we substantiate this in the scientific sense?
We can argue instead: "A common concern in the scientific community is that published work on the topic is difficult to reproduce, despite the impact it implies for humanity." which doesn't assert a definitive statement, but would still be acceptable by pretty much everyone.
paper/paper.md
Outdated
largely because of the substantial implications of such a collapse for human societies. | ||
However, some published work is not reproducible despite their strong policy implications. | ||
This can be largely addressed by a unifying software that is accessible, performant, | ||
reproducible, reliable and extensible, and we therefore propose TransitionsInTimeseries.jl. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reproducible, reliable and extensible, and we therefore propose TransitionsInTimeseries.jl. | |
reproducible, reliable and extensible. Such a software does not exist yet, but here | |
we propose TransitionsInTimeseries.jl to fill this gap. |
paper/paper.md
Outdated
This can be largely addressed by a unifying software that is accessible, performant, | ||
reproducible, reliable and extensible, and we therefore propose TransitionsInTimeseries.jl. | ||
We believe this is a major step towards establishing a software as standard, widely used | ||
by academics working on transitions in time series. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by academics working on transitions in time series. | |
by academics working on transitions in timeseries. |
paper/paper.md
Outdated
|
||
## Reliability | ||
|
||
In high-impact context mentioned above, errors are to be avoided with particular care. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In high-impact context mentioned above, errors are to be avoided with particular care. | |
In high-impact context mentioned in the introduction, it is crucial to avoid errors. |
paper/paper.md
Outdated
with the structure of taking a vector as input and returning a scalar as output. Finally, | ||
users can modify the fully-open source code, written in native Julia and thus offering a good | ||
legibility compared to other high-performance languages. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with the structure of taking a vector as input and returning a scalar as output. Finally, | |
users can modify the fully-open source code, written in native Julia and thus offering a good | |
legibility compared to other high-performance languages. | |
with the structure of taking a vector as input and returning a scalar as output. |
I don't think that's important to mention, it is obvious and not of high impact. We can save some words here.
relevant metrics. Finally, different ways of testing for significance can be interchangeably | ||
used, therefore expanding the versatility of the software beyond the surrogate analysis. | ||
|
||
## Extensibility |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am still unhappy about this section. Even though it is extensive, the most extensive subsection, it still does not discuss the biggest novelty of our software: that entirely new pipelines for estimating changes, or estimating their significance, can be added to the software.
You can save lots of space here by using only two sentences to mention that idicators and change metrics are arbitrary julia functions, which means that they could be defined by the user or imported form any other package.
This extra space can be used to highlight the novelty of new pipelines, like what I contributed in #73 .
paper/paper.md
Outdated
## Integration | ||
|
||
TransitionsInTimeseries.jl is designed to be well integrated into the Julia ecosystem. | ||
Functions can be imported from other packages and subsequently passed as indicators or | ||
change metrics. For instance, the skewness implemented above can be loaded from another julia | ||
package instead of being programmed by the user: | ||
|
||
```julia | ||
using StatsBase | ||
indicators = (var, ar1_whitenoise, StatsBase.skewness) | ||
``` | ||
|
||
TransitionsInTimeseries.jl therefore offers an extremely wide and | ||
potentially unlimited library of indicators. Furthermore, TimeseriesSurrogates.jl | ||
[@haaga_timeseriessurrogatesjl_2022] is used to create surrogates of the time series, | ||
thus offering optimized routines with numerous surrogate types. Finally, | ||
`plot_changes_significance` showcased in [Fig. 1](@figure1) relies on Makie.jl, which allows | ||
the user to customize the figures according to their needs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think all of this section is too large and should be significantly decreased in size. Above comment says how to mention impoting functions from other packages. And we definitely do not need a code example for using functions from other packages.
Makie.jl is not an integration. Iti s a dependency. Its not like the user can interface with the plotting code in any meaningful way.
You can mention the surrogate integration though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p.s.: We can add the skewness example to the main tutorial to show defining user defined functions or importing new ones.
Hi @Datseris, thanks a lot for your corrections :) I applied all of them (except for one I that answered to, see above). In particular, I reformulated the versatility section and moved it for a better flow of explanations. I hope you'll like it! |
This PR proposes a first draft for the JOSS paper describing the package. The JOSS guideline states that the paper should be between 250-1000 words. Authors submitting papers significantly longer than 1000 words may be asked to reduce the length of their paper. We are at about 1,500 words, which might not be a big issue but needs to be discussed.
The code used to generate the two figures of the paper are provided in
paper/code/
and the figures inpaper/figures
. The first figure requires a.csv
file, which is not included in the PR since we should include it in the genral repo of JuliaDynamics. The second figure is a comparison to the run time ofewstools
, as assessed inpaper/code/ewstools-tuto-1.py
.@Datseris, I suggest we have a call to talk about the draft :) Also, at some point you will need to put your affiliation and your funding.