Archiv der Kategorie: Software

Graphical display of outbreaks: Transmission trees

Let’s start with some examples from the literature, find out necessary elements, compare different versions and develop a R template for general use.

“Exploding Stars”

CDC Field Epidemiology Handbook, 2019, ISBN 9780190933692 p115

“Tetris”

https://doi.org/10.1016/S0140-6736(20)30154-9 (2020)

“Clean Undeterministic”
“Clean Tree”

https://academic.oup.com/mbe/article/34/4/997/2919386

“Tree Addons”

https://openres.ersjournals.com/content/4/2/00162-2017

“Railways”

https://www.ages.at/service/service-presse/pressemeldungen/epidemiologische-abklaerung-am-beispiel-covid-19/

“Simple ”

https://www.ncbi.nlm.nih.gov/pubmed/32003551

“Vertical”

“star bus”

https://en.wikipedia.org/wiki/Index_case

“Mathematical”

https://www.biorxiv.org/content/10.1101/142570v3.full

“Genetics”

https://wwwnc.cdc.gov/eid/article/26/9/20-1798_article

From R to Python

It’s bit confusing if you are having long-term experience with R but need some OpenCV Python code. What worked for me

  1. download and install Python 3.8.3.
  2. pip install opencv-python
  3. pip install opencv-contrib-python
  4. although Spyder or Jupyter is recommended for data science, I went for PyCharm
  5. install Atom and follow the video instructions
  6. take care, numerous non working introductions out there, stick to recent version

R leaflet – keep map in frame after closing info box

Although having some experience with leaflet before, it took me 5 hours to find out how to
(1) change the background color and
(2) re-center my map after the popup was panning the map  basically out view. Here is my solution

leaflet(options = leafletOptions(
 zoomControl = FALSE,
 minZoom=6, maxZoom=6,
 centerFixed = TRUE) ) %>%
addPolygons(data = ds,
 fillColor = ~pal(AnzahlFall),
 color="black", weight = 1,
 fillOpacity = 0.7,
 label = ~name_2,
 popup = ~www,
 popupOptions = popupOptions( autopan=FALSE, keepInView = TRUE ) ) %>%
htmlwidgets::onRender("
 function(el, x) {
  var myMap = this;
  myMap.dragging.disable();
  myMap.on('popupclose', function(e) { myMap.panTo( {lon: 10.26, lat: 51.1} ) });
  var e = document.getElementsByClassName('leaflet-container');
  e[0].style.backgroundColor = 'white';	    
}")

python3 cv2 installation

Homebrew is struggling with the older python 2.7 version that is missing ssl support. Python 3.8 did not recognize cv2 but this finally worked

brew install python3
brew postinstall python3
pip3 install virtualenv virtualenvwrapper
virtualenv env_name --python="python3"
/Users/wjst/env_name/bin/pip3 install opencv-python
/Users/wjst/env_name/bin/pip3 install pandas scipy matplotlib Pillow tqdm sklearn imageio
/Users/wjst/env_name/bin/python3 -c "import cv2"

then I could finally run the image forgery detection from Github.

cd /Users/wjst/Desktop/image-copy-move-detection-master
/Users/wjst/env_name/bin/python3
> from copy_move_detection import detect
> ...

Was ist eigentlich Meinung, was ist Tatsachenbehauptung?

Volker Kitz erklärt den Unterschied

Was ist eine Meinung? Eine Meinung gibt ein persönliches Werturteil wieder. Das wesentliche Merkmal der Meinung ist: Sie kann nicht “richtig” oder “falsch” sein, man kann sie nicht überprüfen. Das unterscheidet die Meinung von der Tatsachenbehauptung. Sage ich: “Mein Nachbar prügelt seinen Hund”, lässt sich diese Äußerung überprüfen, ist also eine Tatsachenbehauptung. Sage ich hingegen: “Der Lebenswandel meines Nachbarn ist inakzeptabel”, lässt sich das nicht überprüfen. Andere können das anders sehen. Es ist eine Meinungsäußerung.

Das ganze ist deshalb so schwierig weil zuweilen Meinung und Tatsachenäußerung direkt in einander übergehen. Über eine Tatsachenbehauptung lässt sich manchmal sehr einfach auch eine Meinung transportieren. Tucholskis “Soldaten sind Mörder” beinhaltet die Tatsache, dass Soldaten unter bestimmten Voraussetzungen andere Menschen töten (die Aussage ist also durch Art. 5 Abs. 1 GG gedeckt …).
Allerding muss die Tatsache an sich stimmen. Mit unwahren Aussagen kann man sich nicht auf Meinungsfreiheit berufen.

Image, text and data forensics

Here are some simple some tools for examining papers.

Pictures

Copy/move clone detection in pictures: There is no single button solution. To extract the pictures I use unar (“brew install unar”) which preserves much more detail than a screenshot. As web-based solution Forensically is preferable (alternatives are Fotoforensics and Reveal). As a local version, I think Sherloq has most potential if you don’t want to fiddle around with exiftool.

Maybe there are also situations where individual color adjustments are needed. I have a local version of Affinity here but there is also super nice web-based tool called Minipaint.

source https://twitter.com/science_surf/status/1216269150064082946 Affinity analysis of mouse eyes

Text

For text plagiarism check, it probably needs some paid service: docoloc, Plagscan or Turnitin (services compared …) if don’t want to copy/paste text blocks into Google Search.

Translation: Deepl

For text comparison I used BBEdit earlier while also the Atom/split-diff plugin is suitable (as an online solution simtext) while for PDF comparison I suggest Copyleaks.

 

Statistics

Current software developments to scan manuscripts for statistical issues: Barzooka (Nico Riedel), SciScore (Michèle Nuijten), Grim Test (Nicholas Brown) among others.

 

Misc

A short history of detecting image forgery can be found at the Zwelling blog and an introduction into the theory in a paper by Hany Farid or his book “Fake Photos“. A recent interview with Elisabeth Bik gives further details.

PubPeer is the place where the results should be deposited.

“There is currently worldwide concern over corruption in education. This concern touches all Member States and all levels of education” according to the European Counsil.

Link out symbol

I have been looking for a wikipedia-style link out symbol (wikipedia uses a svg symbol). Some websites recommend font awesome symbol /f08e others are in favor of the north east arrow #x2197; while I modfied now a code pen by thiago for the css of this wordpress child theme

  a:not([href*='wjst.de'])::after {
    content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
    margin: 0 3px 0 5px;
  }

Die Korrelationsmanie

Materialsammlung bioinformatics / big data / deep learning

 

Passend dazu auch der CCC Vortrag Nadja Geisler / Benjamin Hättasch am 28.12.2019

Deep Learning ist von einem Dead End zur ultimativen Lösung aller Machine Learning Probleme geworden. Die Sinnhaftigkeit und die Qualität der Lösung scheinen dabei jedoch immer mehr vom Buzzword Bingo verschluckt zu werden.
Ist es sinnvoll, weiterhin auf alle Probleme Deep Learning zu werfen? Wie gut ist sind diese Ansätze wirklich? Was könnte alles passieren, wenn wir so weiter machen? Und können diese Ansätze uns helfen, nachhaltiger zu leben? Oder befeuern sie die Erwärmung des Planetens nur weiter?

 

Dazu kommt noch – es ist ein gigantischer Energieverbrauch durch die Rechenleistung.

 

Zusammenfassung in einem Bild auf Twitter (@wetlabsucks,@nixcraft)

How to include a PDF in reveal.js

Right now there is a lot of information out there how to export a reveal presentation as PDF but much less not how to include a PDF document. The most natural way would be some embed

<section><object data="test.pdf" style="width:100%"><a href="test.pdf">PDF laden</a></object><section>

looks strange, not full frame, no handlers

<section data-background-iframe="test.pdf" data-background-interactive></section>

works but cannot jump to a certain page and cannot style the background.

So I am using now additionally the Chrome plugin that is based on pdf.js.

Nicht repräsentatives Sampling

Ob das Sinn macht? Krautreporter hat eine sehr positive Zusammenfassung von neueren Internet basierten Umfragemethoden

Eine nicht zufällig ausgewählte Stichprobe wird aber immer die zweitbeste Option bleiben. „Wenn man eine repräsentative, zufällige Stichprobe bekommen kann, wird jeder Wissenschaftler immer das nehmen”, sagt Gschwend. Das ist aber in der Regel viel teurer. Deshalb müsse man aus wirtschaftlichen Gründen die Nicht-zufällige-Stichprobe in der Wissenschaft vorantreiben und neue Verfahren mit Big Data weiterentwickeln.
Berechnet wird die Civey-Umfrage mit verschiedenen höheren statistischen Methoden, die Bayesianische Statistik, Riversampling, Poststratifizerung und Raking heißen, und die von deutschen Meinungsforschern noch recht selten verwendet werden.

Es gibt nur leider kaum eine Alternative zu einer repräsentativen oder einer totalen Befragung, auch bekannt als garbage in, garbage out Phänomen. Das bleibt so auch mit big data hype und Kalibration am Mikrozensus. Wenn Daten fehlen, dann fehlen sie. Einmal kann die Interpolation stimmen, aber beim entscheidenden nächsten Mal stimmt sie dann doch nicht. Dazu werden solche Umfragen durch immer ausgefeiltere Bots bedroht.

Civey und Opinary sind wohl mehr Marketing Methoden als Meinungsforschungsinstitute.

Was steht in dem zitierten wissenschaftliche Artikel?

After adjusting the Xbox responses via multilevel regression and poststratification, we obtain estimates which are in line with the forecasts from leading poll analysts.

Das Sample hier ist die Gamer Szene: 90% Männer, 10% Frauen, bei denen Stimmungsschwankungen in 3 Tagesabständen gemessen wurden.  Da Frauen bei der letzte Europawahl aber zu 24% Grüne wählten, aber Männer aber nur zu 18%, wäre der Forecast hier irrelevant, was heisst da schon ein Anstieg von plus 2% dieser Männer?
Und was ist mit Ereignissen kurz vor der Wahl, welche die Gamerszene nicht mitbekommen hat? Der Mobilisierung von Nichtwählern?
Zudem ist das amerikanische Wahlsystem nur eingeschränkt als Modell zu gebrauchen; die tatsächlichen 332 Wahlmänner wurde im übrigen mit der Vorsage 303 Wahlmänner deutlich verfehlt.